Trivial程序抛出IndexOutOfRangeException?

时间:2012-06-06 22:38:33

标签: c#

运行上面代码时出错,不知道具体问题请为此提供解决方案。

 using System;


class second
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello,{}!", args[0]);
        Console.WriteLine("Welcome to the C# station Tutorial!");

        Console.ReadLine();
    }
}

错误是指数超出范围。

5 个答案:

答案 0 :(得分:4)

您缺少参数位置

Console.WriteLine("Hello,{0}!", args[0]); 

答案 1 :(得分:4)

string[] args参数是exe的命令行参数。我猜你没有传递任何参数,因此args[0] 超出范围,就像它说的那样。如果您将exe运行为:

your.exe MyName

然后它至少会超过IndexOutOfRangeException - 来代替FormatException; p要解决此问题,请将{}更改为{0}

答案 2 :(得分:0)

如果args的项为零,那么尝试获取它的第一个索引(即0)将导致索引超出范围异常。在尝试引用其中的索引之前,应检查args是否为空或为空。如果您使用某些命令行参数运行该示例,它可能会起作用。

答案 3 :(得分:0)

这对我有用。检查以确保有参数。如果没有,请在控制台上提供反馈。

        if (args.Length == 0)
        {
            Console.WriteLine("No input parameters were received.");
            return;
        }

答案 4 :(得分:0)

我相信你在Visual Studio上运行程序,因此运行程序时没有传递任何参数来反对arg []。

传递参数E.g. Scott to arg[]

  1. 转到解决方案资源管理器(查看>解决方案资源管理器)
  2. 选择属性。
  3. 在“开始选项”部分下的“命令行参数”文本框中输入“Scott”。

    程序将正常运行。见下图。

  4. b