gpt4 book ai didi

c# - C# 控制台应用程序可以接收空参数吗?

转载 作者:太空狗 更新时间:2023-10-30 01:00:25 25 4
gpt4 key购买 nike

我正在对用 C# 编写的命令行应用程序进行清理。我想知道是否需要对传入的 string[] args 数组执行 null 检查?例如:

static int Main(string[] args)
{
if(args != null) { // is this needed?

}
}

请注意我找到了similar question concerning Java ,但无法在 C# 中找到任何有关命令行参数的信息(通常是 & .NET)。

另请注意,我确实尝试过不向我的命令行应用程序传递任何参数,并且从未设法使 args 数组对象为空。我还尝试使用 Environment.GetCommandLineArgs() utility function 访问命令行参数,而且这也永远不会为空。

我也读过这个guide由 MS 编写,看不到 args 数组永远不会为 null 的任何明确保证。

编辑:简化了我的示例。

最佳答案

C# 标准在 3.1 应用程序启动部分解决了这个问题:

The entry point may optionally have one formal parameter. The parameter may have any name, but the type of the parameter must be string[]. If the formal parameter is present, the execution environment creates and passes a string[] argument containing the command-line arguments that were specified when the application was started. The string[] argument is never null, but it may have a length of zero if no command-line arguments were specified.

(我的粗体)

所以答案是:不,控制台应用程序的 Main() 永远不会收到空的 args[] 参数。

关于c# - C# 控制台应用程序可以接收空参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46423282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com