//读取文件
Console.WriteLine("\n导入公交车线路文件\n");
string FileToRead = @"D:\课程\软工\作业\busroute.txt";
string[] bus = File.ReadAllLines(FileToRead);
string[][] busroute = { };
//分割
for (int i=0;i<bus.Length;i++)
{
busroute[i] = bus[i].Split('、');
}
Console.WriteLine("\n读取成功\n");
代码如上,然后不停报错越界
我改了一下for循环内的代码
for (int i=0;i<bus.Length;i++)
{
string [] linshi = bus[i].Split('、');
for(int j=0;j<linshi.Length; j++)
{
Console.WriteLine("linshi[j]");
}
}
然后运行成功了,这就说明字符串的分割没错,所以我很不明白我赋值二维数组错在了哪里。
将二位数组的声明改成这样试一下
string[][] busroute = new string[bus.Length][];
使用 [] 定义数组,需要定义长度,修改长度是很麻烦的事情
建议使用 List 来完成数据添加,然后 ToArray 转成 [] 格式的数组
字符串的分割是没错,问题在二维数组上面,你定义的二维数组没有指定元素个数导致越界了。