读c#if语句

时间:2014-02-04 17:19:52

标签: c# if-statement delphi-xe3

将C#转换为Pascal我偶然发现了这一行:

if (bb[1] == '1'-'0')

这是什么意思? 如果第二个字节等于字符串'1'减去字符串'0'?

3 个答案:

答案 0 :(得分:3)

'1'-'0'这会给你1整数值。这就像将字符转换为相应的整数。

与:

相同
int value = (int)Char.GetNumericValue('1');

value将保留1

所以你的支票是:

if(bb[1] == 1)

答案 1 :(得分:0)

C#没有单引号字符串,因此它们都是字符(类型char)。

类型char的值在内存中表示为其ASCII代码的整数值,因此一些有限的数学运算对它们起作用(如示例中的减法)。

'1' - '0'(int)'1' - (int)'0'相同,即49 - 48

答案 2 :(得分:0)

watch window in visual studio

'1'转换为十进制,对应于49,'0'作为十进制给出48. 49 - 48 = 1.所以'1' - '0'为1,如监视窗口所示。如果您有其他类似的比较,则为Here's ASCII字符集。