新建立了一個C#winform程式,將得到的字串轉換成int型時候卻總出現格式例外,試過了
int.parse(),和convert.toint32()都會錯誤,在控制臺程式的時候同樣的代碼卻不會出現例外,請問為什么?
[code
private void button1_Click(object sender, EventArgs e)
{
if (txt1.Text.Trim() != "")
{
string str = txt1.Text;//輸入十個數字,中間逗號隔開
string[] strs = str.Split(',');
int []array = new int[strs.Length];
for (int i=0;i<strs.Length; i++)
{
array[i] = Convert.ToInt32(strs[i]);//就是這里總提示例外
}
txt2.Text = array[0].ToString();
}
}[/code]
uj5u.com熱心網友回復:
string atxt = "1,2,3,4,5,6,7,8,9,11";
int[] aaa = atxt.Trim().Split(',').Select(a => int.Parse(a)).ToArray();
atxt=aaa[0].ToString ();
uj5u.com熱心網友回復:
你要看你是把控制元件中的內容強轉成int,你輸入的時候就要輸能轉換成int型的,比如1,1可以,你輸入1,a是不行的,a不能轉換成整形只得到吧uj5u.com熱心網友回復:
可能是輸入了中文的逗號,而分割是用了英文的。打個斷點,除錯看一下分割后的array內容;uj5u.com熱心網友回復:
你除錯一下string[] strs = str.Split(',',',');
有可能是你這里有問題
uj5u.com熱心網友回復:
有可能你的最後的逗號還沒有去處,導致出現問題了
比如
1,2,3,4,5,6,
uj5u.com熱心網友回復:
txt1.Text.Trim()這個值能不能貼出來看看。估計就是這里的問題!
uj5u.com熱心網友回復:
同樓上的字串先trim下空字符,split的話也有引數(StringSplitOptions.RemoveEmptyEntries)可以忽略空防止輸入輸入了,沒有輸入資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/38120.html
標籤:C#
