访问数组中的数据时出现 C# IndexOutOfRangeException

C# IndexOutOfRangeException while accessing datas in array

我有以下代码:

String[] enteteSplit = new String[48];
enteteSplit = entete.Split(';');
enteteSplit[35] = enteteSplit[35].Replace(',', '.');

其中 entete 是一个字符串。 第 3 行抛出 IndexOutOfRangeException,我无法解决这个问题,有什么想法吗?

非常感谢。

当你调用这条线时

enteteSplit = entete.Split(';');

您正在有效地创建一个数组,其中不包含更多 48 个元素,而只包含在分号字符处拆分字符串所获得的元素。

所以如果你的字符串是

entete = "test;test1;test2";
enteteSplit = entete.Split(';');

生成的数组只有 3 个元素,因此尝试到达第 35 个元素会导致 IndexOutOfRange 异常

这里需要引入安全检查

if(enteteSplit.Length > 35)
   enteteSplit[35] = enteteSplit[35].Replace(',', '.');