作者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