[問題] string index範圍的問題

看板C_Sharp作者 (meat god in me)時間17年前 (2008/12/20 13:56), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
例如說 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)

12/20 15:31, , 1F
i < s2.Length - 1
12/20 15:31, 1F

12/20 15:55, , 2F
順便一提 s3=s3+s2[i]; 這個動作會不斷產生新的物件
12/20 15:55, 2F

12/20 15:55, , 3F
可能會影響效率,可考慮用 StringBuilder
12/20 15:55, 3F

12/20 16:36, , 4F
....還真是低級bug thanx
12/20 16:36, 4F

12/20 16:42, , 5F
呃好像不是也 因為-1還是會出現呀
12/20 16:42, 5F

12/20 17:33, , 6F
我跑沒問題耶 @@?
12/20 17:33, 6F

12/20 17:35, , 7F
沒問題 +1 s3 輸出為 helloworldhihi
12/20 17:35, 7F

12/20 19:21, , 8F
我又改好了...my fault
12/20 19:21, 8F
文章代碼(AID): #19J8ZxVG (C_Sharp)