在控制台应用程序中读取命令行参数的最佳方法

yvitae 发布于 2018-05-02 .net 最后更新 2018-05-02 16:10 184 浏览

以下是在命令行参数中阅读的两种方法。第一种是我习惯于使用主参数的方式。第二个我在审查代码时偶然发现。我注意到第二个将数组中的第一个项目分配给路径和应用程序,但第一个项目跳过了这个。 这只是偏好还是现在更好的第二种方式?

Sub Main(ByVal args() As String)
    For i As Integer = 0 To args.Length - 1
        Console.WriteLine("Arg: " & i & " is " & args(i))
    Next
Console.ReadKey()
End Sub
搜索结果
Sub Main()
    Dim args() As String = System.Environment.GetCommandLineArgs()
For i As Integer = 0 To args.Length - 1
        Console.WriteLine("Arg: " & i & " is " & args(i))
    Next
Console.ReadKey()
End Sub
我认为在C#中可以做到这一点,所以它不一定是一个vb.net问题。
已邀请:

gsint

赞同来自:

第二种方法更好,因为它可以在main()之外使用,所以当你重构它时,少了一件需要考虑的事情。 另外,我不喜欢将args放在方法参数中的“魔术”。

ased

赞同来自:

第一种方式更好,因为它更简单。

wiusto

赞同来自:

你知道getopt吗?在codeplex上有一个用于C#的端口:http://www.codeplex.com/getopt

funde

赞同来自:

对我而言,第一种方式似乎更直观,因为这是我从C/C++开始就一直在做的事情。 如果你的命令行有太多的开关,请看看Thomas推荐的getopt。这非常有用。虽然我没有看过C#端口。 问候, KGR