2011-09-21 68 views
0

我已经例如验证码:问题,使用元素的字符串

string i = "100"; 

if(i[1]==0) 
{ 
    MessageBox.Show("ok"); 
} 

,我想我应该得到“OK”,但它不工作。 i[1]这是什么?

+2

对于这种情况,'i [1]'是字符'0'。你在比较'char'和'int'。字符'0'的等效值是48.由于'0 == 48'是'false',所以不显示警报。 –

回答

6

您的比较使用了错误的类型。当您使用带有字符串的索引器时,结果为char。你的if语句使用的是int。您需要将您的代码更改为:

if(i[1] == '0') 
{ 
    MessageBox.Show("Ok"); 
} 
2

i[1]'0'(Unicode的U + 0030),这比(INT)0不同的

5

您正在比较字符串与整数。

尝试if (i[1] == '0')

0

i[1]是字符串中的第二个字符,因为c#中的数组是从零开始的。

+0

这不是OP问的问题。我[1]是他的长度为3的字符串的完美有效索引。 – Anson

1

char i [0]与整数进行比较