运行上面代码时出错,不知道具体问题请为此提供解决方案。
using System;
class second
{
static void Main(string[] args)
{
Console.WriteLine("Hello,{}!", args[0]);
Console.WriteLine("Welcome to the C# station Tutorial!");
Console.ReadLine();
}
}
错误是指数超出范围。
答案 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[]
,
在“开始选项”部分下的“命令行参数”文本框中输入“Scott”。
程序将正常运行。见下图。