2013-08-20 12 views
0

我有一個名爲textBox1的文本框,在某些情況下,我想將文本框中的字符串轉換爲整數,以便以後用作整數。C#中的Convert.ToInt32(String)不工作?

這是拋出一個我甚至無法理解的錯誤。下面是截圖:

http://i.stack.imgur.com/lxZa0.png

(每請求)的代碼是:

this.textBox1.Text = string.Concat(Int.Where(c => Char.IsNumber(c))); 
this.textBox1.Text = Convert.ToInt32(this.textBox1.Text); 

我真的很感激,如果你能給我一個答案或解決我的代碼,並解釋爲什麼它沒有/沒有工作。

回答

3

Convert.ToInt32將按設計返回一個整數而不是字符串。

如果您只是將結果存儲迴文本框中,沒有任何理由將其轉換爲數字,只將其轉換回字符串。

,如果你想要做這真的只是有用:

int value = Convert.ToInt32(this.textBox1.Text); 

話雖這麼說,你可能需要使用Int32.TryParse代替。這允許您檢查格式錯誤,而不是在用戶鍵入不合適的值時引發異常。

+0

啊,我看到我的錯誤。我試圖設置一個字符串爲整數。輸出的結果無關緊要,只需要轉換即可。 另外,我將如何使用'Int32.TryParse'?只需使用try-catch方法? – Dominoed

+0

要使用Int32.TryParse,你可以這樣做: 'int i; Int32.TryParse(textBox1.Text,i);' 我將被設置爲textBox1.Text作爲一個int如果它的工作。 – ismellike