是否可以在C#console app中将整数值作为方法参数传递

Jay*_*Jay 3 c# console

在我的代码中

static void Main(string[] args)
{

}
Run Code Online (Sandbox Code Playgroud)

我希望在方法args中传递整数值

static void Main(int? args)
{

}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 11

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

static void Main(string[] args)
{
    int[] intArgs = args.Select(int.Parse).ToArray();
    // ...
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果任何参数实际上不是整数,则会抛出异常.如果你想要一个更加用户友好的消息,你需要使用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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)