C#中如何解决"索引超出了数组界限"这个异常

2024-12-26 07:19:59
推荐回答(5个)
回答1:

"索引超出了数组界限"并不是说索引有多长,
而是说这个索引在数组的界限当中找不到,
在楼主的代码中,
无法保证String[] args 一定有值(即可能不存在args[0]),

如果楼主是想在string[] args有值的情况下才输出第一个参数的话,
可以改成
class Program
{
static void Main(string[] args)
{
string strName; //声明一个string类型的值变量
if (args.Count() > 0)
{
strName = args[0];//把第一个参数赋给变量strName
Console.WriteLine("This is the first argument: {0}!", strName); //格式化输出第一个参数
}
}
}

如果楼主想不管有没有值都输出信息,
可以改成:
static void Main(string[] args)
{
string strName = "args is null"; //声明一个string类型的值变量(当数组string[] args 没值时,输出args is null)
if (args.Count() > 0)
{
strName = args[0];//把第一个参数赋给变量strName

}
Console.WriteLine("This is the first argument: {0}!", strName); //格式化输出第一个参数
}

回答2:

主函数运行的时候,你都没有带参数,哪args[0]就没有获得值。当然超出数组界限啦

回答3:

最上面缺了个分号;

你那个数组没给初值呀。 所以出错。

回答4:

for循环里面的循环次数多了一次应该
i
<=
scores.Length-1
for
(int
i
=
0;
i
<=
scores.Length-1;
i++)

回答5:

我想难道是变量值很长,你试试用StringBuilder