我遇到了一个项目异常“System.IndexOutOfRangeException”,并在这里隔离到这个示例代码块。索引超出了数组的范围。但索引是在范围
using System;
public class Program
{
public static void Main()
{
string testStr = "AB5, BC4, CD8, DC8, DE6, AD5, CE2, EB3, AE7";
//split testStr into substrings representing each edge
string [] edges = testStr.Split(", ".ToCharArray());
foreach(string edge in edges)
{
Console.Write(edge + "\n");
char [] cEdge = edge.ToCharArray();
char cost = cEdge[cEdge.Length - 1]; // what out of bounds?
Console.Write(cost);
}
}
}
此问题来自“char cost = cEdge [cEdge.Length - 1];”行。这对我来说没有任何意义,因为此时cEdge应该是一个长度为3的数组。因此,在cEdge.Length - 1处的索引应该是索引2,并且位于数组的边界内。我很困惑,也许我已经看过一些东西。感谢您的时间和帮助。
如果cEdge的长度为零,那么'cEdge [cEdge.Length-1]'将产生一个越界异常。 – dbc 2014-11-08 07:10:10