2011-09-21 98 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]與整數進行比較