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

时间:2008-09-17 12:56:03

标签: .net command-line parameters

以下是两种读取命令行参数的方法。第一个是我习惯于在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问题。

4 个答案:

答案 0 :(得分:21)

第二种方式更好,因为它可以在main()之外使用,所以当你重构它时,可以少考虑一下。

此外,我不喜欢将args放在方法参数中的第一种方式的“魔法”。

答案 1 :(得分:3)

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

答案 2 :(得分:2)

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

答案 3 :(得分:1)

对我而言,第一种方式似乎更直观,因为这就是我自C / C ++日以来一直在做的事情。

如果您的命令行有太多交换机,请查看Thomas推荐的getopt。这非常有用。我没有看过同样的C#端口。

此致

KGR

相关问题