.NET 6.0 C# "new console template" - 如何读取 CLI 参数?
.NET 6.0 C# "new console template" - how to read CLI arguments?
现在 .NET 6.0 已经发布,似乎对默认 CLI 项目模板进行了彻底的更新,因为没有熟悉的样板文件被简化为以下内容:
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
不清楚(到目前为止我一直在尝试查找文档,但无济于事)是如何访问传递给可执行文件入口点的命令行参数class?
您可以使用 Environment class.
从代码中的任何位置访问命令行参数
特别是,您可以使用 Environment.GetCommandLineArgs:
string name = Environment.GetCommandLineArgs()[1];
Console.WriteLine($"Hello, {name}!");
请注意,数组中的第一个元素包含可执行文件的路径,传递给程序的参数从第二个元素开始,即在索引 1 处。
新项目模板正在使用名为 top-level statements 的 C# 9 功能。
对于顶级语句文件,编译器将生成 string[] args
parameter (actually it generates 整个 class 包含 Main
方法),因此您可以直接使用它(就像之前对 [=13= 所做的那样) ]):
Console.WriteLine(args.Length);
可以找到有关生成模式的更多信息in the docs。
现在 .NET 6.0 已经发布,似乎对默认 CLI 项目模板进行了彻底的更新,因为没有熟悉的样板文件被简化为以下内容:
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
不清楚(到目前为止我一直在尝试查找文档,但无济于事)是如何访问传递给可执行文件入口点的命令行参数class?
您可以使用 Environment class.
从代码中的任何位置访问命令行参数特别是,您可以使用 Environment.GetCommandLineArgs:
string name = Environment.GetCommandLineArgs()[1];
Console.WriteLine($"Hello, {name}!");
请注意,数组中的第一个元素包含可执行文件的路径,传递给程序的参数从第二个元素开始,即在索引 1 处。
新项目模板正在使用名为 top-level statements 的 C# 9 功能。
对于顶级语句文件,编译器将生成 string[] args
parameter (actually it generates 整个 class 包含 Main
方法),因此您可以直接使用它(就像之前对 [=13= 所做的那样) ]):
Console.WriteLine(args.Length);
可以找到有关生成模式的更多信息in the docs。