我有以下代码:
String[] enteteSplit = new String[48];
enteteSplit = entete.Split(';');
enteteSplit[35] = enteteSplit[35].Replace(',', '.');
其中 entete 是一个字符串。第三行抛出一个 IndexOutOfRangeException ,我无法解决这个问题,有什么想法吗?
非常感谢。
我有以下代码:
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(',', '.');