[英]command line in C#
我有一个要从命令提示符运行的工具。
代码是
static void Main(string[] args)
{
string User;
if (args[0].Length != 0)
{
User = args[0];
}
else
{
Console.Write("Please Enter the Username");
User = Console.ReadLine();
}
如果我没有在命令提示符下输入“ tool.exe”后的用户名或第一个参数,则会抛出异常,例如“索引超出数组范围”
我想输入ouptut,如果我不输入参数-它应该提示我输入用户名。 请帮帮我。
args
是一个数组,应该检查其长度。 当您检查args[0].Length
,实际上是在假设数组中至少有一个元素,因此您要检查第一项的Length
。
尝试
if (args.Length != 0)
而是检查命令行参数数组的长度。
您不想在项目上调用“ Length
”。
\/ Change here
if (args.Length != 0)
{
User = args[0];
}
else
{
Console.Write("Please Enter the Username");
User = Console.ReadLine();
}
您需要将if更改为:
static void Main(string[] args)
{
string User;
if (args.Length != 0) // Change from args[0] to args
{
User = args[0];
}
else
{
Console.Write("Please Enter the Username");
User = Console.ReadLine();
}
}
在此调用之后,请确保在string.IsNullOrEmpty(User)
字符串之前先执行一个string.IsNullOrEmpty(User)
。
做这个
static void Main(string[] args)
{
string User;
if (args.Length > 0)
{
User = args[0];
}
else
{
Console.Write("Please Enter the Username");
User = Console.ReadLine();
}
}
您必须检查参数数组的长度,即参数数量。 当前,您正在检查args [0]的大小。
if (args.Length != 0)
{
// command have some params
}
else
{
// command have no params
}
只需替换以下行:
if(args [0] .Length!= 0)
使用以下代码:
if(arg.Length !=0) <br>
在您的代码中,您已在args数组中引用了项目0,然后检查其长度。
由于要检查数组的长度,请使用数组本身的Length属性
这样,您就可以查看集合string []中的第一个元素。
if (args[0].Length != 0)
如果没有任何参数,这将给出一个例外。 如果您要检查是否有任何参数,下面是正确的语句。
if (args.Length != 0)
//Or this
if (args.Any())
观察Any()是名称空间System.Linq的一部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.