我有以下代码:
String[] enteteSplit = new String[48];
enteteSplit = entete.Split(';');
enteteSplit[35] = enteteSplit[35].Replace(',', '.');
entete是一个字符串。 第三行是抛出一个IndexOutOfRangeException,我无法解决这个问题,有什么想法吗?
非常感谢。
答案 0 :(得分:3)
当你拨打这一行时
enteteSplit = entete.Split(';');
你实际上正在创建一个不包含48个元素的数组,但只包含以分号字符分割字符串的元素。
所以如果你的字符串是
entete = "test;test1;test2";
enteteSplit = entete.Split(';');
结果数组只有3个元素,因此尝试到达第35个元素会导致IndexOutOfRange异常
您需要在此处引入安全检查
if(enteteSplit.Length > 35)
enteteSplit[35] = enteteSplit[35].Replace(',', '.');