在C#控制台应用程序中是否可以将整数值作为方法参数传递

在C#控制台应用程序中是否可以将整数值作为方法参数传递,c#,console,C#,Console,在我的代码中 static void Main(string[] args) { } 我想要的是在方法args中传递整数值 static void Main(int? args) { } 我希望这是不可能的,但您可以像已经获得的那样获得字符串数组的值,并解析它们以获得所需的整数 public static int[] intArgs; static void Main(string[] args) { intArgs = args.Select(x=> int.Parse

在我的代码中

static void Main(string[] args)
{

}
我想要的是在方法args中传递整数值

static void Main(int? args)
{

}

我希望这是不可能的,但您可以像已经获得的那样获得字符串数组的值,并解析它们以获得所需的整数

public static int[] intArgs;
static void Main(string[] args)
{
     intArgs = args.Select(x=> int.Parse(x)).ToArray();
}

你不能-你只能接受字符串。但是,您可以将这些字符串解析为整数。例如:

static void Main(string[] args)
{
    int[] intArgs = args.Select(int.Parse).ToArray();
    // ...
}
请注意,如果任何参数实际上不是整数,这将引发异常。如果您想要更方便用户的消息,则需要使用
int.TryParse
,例如

static void Main(string[] args)
{
    int[] intArgs = new int[args.Length];
    for (int i = 0; i < args.Length; i++)
    {
        if (!int.TryParse(args[i], out intArgs[i]))
        {
            Console.WriteLine($"All parameters must be integers. Could not convert {args[i]}");
            return;
        }
    }
}
static void Main(字符串[]args)
{
int[]intArgs=新的int[args.Length];
for(int i=0;i
当您使用console时,当您键入“123”时,它是字符串123而不是整数值123。 因此,静态void
Main(int[]args)
不是一个选项

查看MSDN文档:

但是,您可以将字符串解析为int。 例如:

var intValue = int.Parse(args[0]);

不。您需要转换或使用许多命令行解析器库中的一个来为您处理转换。>嗯,这里ASP.NET标记的用途是什么?在哪里可以找到ASP.NET标记@Steven已从您的标签列表中删除。请参见编辑修订。