【问题标题】:C# args without a main method?C# args 没有 main 方法?
【发布时间】:2021-12-27 00:17:39
【问题描述】:

我是 C# 世界的新手,但我看到其他编程语言可以从 main 函数/方法、sys.argv 等位置访问命令行参数。

在 Visual Studio 的样板 ASP.NET Core Web App MVC(6.0 版)Program.cs 文件中全局看到以下语句是不寻常的:

var builder = WebApplication.CreateBuilder(args);

在我的 IDE 中将鼠标悬停在该参数上似乎确实表明它确实是 string[] args,但入口点在哪里?

【问题讨论】:

    标签: c# asp.net-mvc args boilerplate entry-point


    【解决方案1】:

    我希望有人能提供更多有趣的细节,但至少,经过一番搜索,Microsoft Docs 得到了以下结果(简短回答 - 顶级声明):

    从 C# 9 开始,您可以省略 Main 方法,并像在 Main 方法中一样编写 C# 语句 [...] 有关如何使用隐式入口点方法编写应用程序代码的信息,见Top-level statements。

    涵盖顶级语句的页面使其更加清晰:

    args

    顶级语句可以引用args 变量来访问输入的任何命令行参数。 args 变量永远不会为 null,但如果未提供命令行参数,则其 Length 为零。

    【讨论】:

    • @LasseV.Karlsen 回复:Let's clean up the comment thread then :) I'll delete my comments because they make no sense any more. 嗯,我应该对我的编辑摘要更准确(例如,在 cmets 中根据Lasse V. Karlsen 的建议添加了更多信息)以获得适当的信誉,但我希望这个评论能抓住它的要点:)
    猜你喜欢
    • 2013-01-19
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    相关资源
    最近更新 更多