我有以下代码:
String[] enteteSplit = new String[48];
enteteSplit = entete.Split(';');
enteteSplit[35] = enteteSplit[35].Replace(',', '.');
其中entete是一个字符串。第三行抛出IndexOutOfRangeException,我无法解决这个问题,有什么想法吗?
非常感谢。
当您调用这条线路时
enteteSplit = entete.Split(';');
您实际上是在创建一个数组,该数组不包含48个元素,而只包含在分号字符处拆分字符串所获得的元素。
所以如果你的字符串是
entete = "test;test1;test2";
enteteSplit = entete.Split(';');
得到的数组只有3个元素,因此试图到达第35个元素会导致IndexOutOfRange异常
你需要在这里介绍一个安全检查
if(enteteSplit.Length > 35)
enteteSplit[35] = enteteSplit[35].Replace(',', '.');