作者varg (meat god in me)
看板C_Sharp
標題[問題] string index範圍的問題
時間Sat Dec 20 13:56:10 2008
例如說
string s1="hello world hihi";
char[] delimiterChars = { ' ', ',', '.', ':', '\t', '%' };
string[] s2=s1.Split(delimiterChars);
string s3="";
for (int i=0;i<s2.Length;i++)
s3=s3+s2[i];
跑到 s3=s3+s2[i];這行會顯示錯誤訊息
IndexOutOfRangeException
索引在陣列的界限之外。
可是我怎麼看i都沒超出範圍呀~?
請問問題在哪裡~?
thanx
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.209.21
※ 編輯: varg 來自: 140.113.209.21 (12/20 13:58)
1F:推 horngsh:i < s2.Length - 1 12/20 15:31
2F:→ james732:順便一提 s3=s3+s2[i]; 這個動作會不斷產生新的物件 12/20 15:55
3F:→ james732:可能會影響效率,可考慮用 StringBuilder 12/20 15:55
4F:→ varg:....還真是低級bug thanx 12/20 16:36
5F:→ varg:呃好像不是也 因為-1還是會出現呀 12/20 16:42
6F:推 givemepass:我跑沒問題耶 @@? 12/20 17:33
7F:→ james732:沒問題 +1 s3 輸出為 helloworldhihi 12/20 17:35
8F:→ varg:我又改好了...my fault 12/20 19:21