You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2022新版控制台应用模板中如何访问命令行参数?

C# 9+ 控制台顶级语句模板获取命令行参数的方法

你使用的是Visual Studio 2022默认的C# 9及以上版本顶级语句模板,该模板省略了传统的Program类和Main方法定义,你可以通过以下两种方式获取命令行参数:

方法1:直接使用隐式args变量

编译器会自动为顶级语句生成和传统Main方法参数完全一致的string[] args变量,无需额外声明即可直接使用,示例代码如下:

Console.WriteLine("Hello, World!");

// 直接使用隐式提供的args变量
if (args.Any())
{
    Console.WriteLine($"传入的参数:{string.Join("、", args)}");
}
else
{
    Console.WriteLine("未传入任何命令行参数");
}

该方式获取的args不包含程序自身的执行路径,仅包含用户传入的参数,和传统控制台项目的Main方法参数完全一致。

方法2:使用Environment.GetCommandLineArgs()

如果第一种方式无法满足需求(比如需要在非顶级语句的任意位置获取参数),可以调用.NET运行时提供的通用静态方法获取,示例代码如下:

Console.WriteLine("Hello, World!");

// 调用系统静态方法获取全量命令行信息
string[] allArgs = Environment.GetCommandLineArgs();
// 注意:该方法返回的数组第一个元素是当前程序的执行路径,用户传入的参数从索引1开始
if (allArgs.Length > 1)
{
    Console.WriteLine($"传入的参数:{string.Join("、", allArgs.Skip(1))}");
}
else
{
    Console.WriteLine("未传入任何命令行参数");
}

内容的提问来源于stack exchange,提问作者Bozhidar Stoyneff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:45:02