Преобразование C# Паскаля я наткнуться на этой линии:Чтение C#, если заявление
if (bb[1] == '1'-'0')
Что это значит? Если второй байт равен строке '1' минус строка '0'?
Преобразование C# Паскаля я наткнуться на этой линии:Чтение C#, если заявление
if (bb[1] == '1'-'0')
Что это значит? Если второй байт равен строке '1' минус строка '0'?
'1'-'0'
это даст вам 1
как целочисленное значение. Это похоже на преобразование символа в соответствующее целое число.
Это так же, как:
int value = (int)Char.GetNumericValue('1');
где value
проведет 1
так что ваш чек:
if(bb[1] == 1)
C# не одинарные кавычки строки, так что те оба символа (тип char
).
Значения типа char
представлены в памяти как целочисленное значение их кода ASCII, поэтому на них работают ограниченные математические операции (например, вычитание в вашем примере).
'1' - '0'
такой же, как (int)'1' - (int)'0'
который является 49 - 48
.
'1' преобразуется в десятичную, что соответствует 49 '0' в качестве десятичного дает 48. 49 - 48 = 1. Таким образом, '1' - '0' 1, как показано в часах окно. Here's Набор символов ASCII, если у вас есть другие аналогичные сравнения.
Да. Я понял, я не считал достаточно простым из-за того, что заявление полностью затормозилось. Но так происходит, когда вы читаете другие, пытаясь написать свое собственное подобное приложение на языке, который вы уже знаете. – wittrup
'Преобразование C# в Pascal' - вы не можете этого сделать. –