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

时间:2020-03-05 18:58:46  来源:igfitidea点击:

以下是两种读取命令行参数的方法。第一种是我习惯使用main中的参数的方式。我在查看代码时偶然发现了第二个。我注意到,第二个将数组中的第一项分配给路径和应用程序,但第一个跳过了这一点。

现在只是偏爱还是第二种更好的方法?

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问题。

解决方案

回答

第二种方法更好,因为它可以在main()之外使用,因此在重构时,要考虑的事情少了一点。

我也不喜欢第一种方法将args放入method参数的"魔术"。

回答

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

回答

你知道getopt吗? Con Codeplex有一个端口:http://www.codeplex.com/getopt

回答

对我来说,第一种方法似乎更直观,因为自从C / C ++时代以来,这就是我一直在做的事情。

如果命令行开关太多,请查看Thomas建议的getopt。这很有用。我没看过同样的Cport。

问候,

公斤