Лучший способ прочитать параметры командной строки в консольном приложении - PullRequest
19 голосов
/ 17 сентября 2008

Ниже приведены два способа чтения параметров командной строки. Во-первых, я привык видеть использование параметра в основном. Второе, на которое я наткнулся при просмотре кода. Я заметил, что второй присваивает первому элементу в массиве путь и приложение, но первый пропускает это.

Это просто предпочтение или второй способ лучше?

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 ]

22 голосов
/ 17 сентября 2008

Второй способ лучше, потому что его можно использовать вне main (), поэтому, когда вы выполняете рефакторинг, об этом нужно думать меньше.

Также мне не нравится "магия", которая помещает аргументы в параметр метода для первого пути.

3 голосов
/ 17 сентября 2008

Знаете ли вы, getopt? В кодплексе есть порт для C #: http://www.codeplex.com/getopt

2 голосов
/ 17 сентября 2008

Первый способ лучше, потому что он проще.

1 голос
/ 15 декабря 2008

Мне кажется, что первый способ более интуитивен, потому что так я делал со времен C / C ++.

Если в вашей командной строке слишком много переключателей, пожалуйста, взгляните на getopt, который рекомендует Томас. Это довольно полезно. Хотя я не смотрел на тот же порт C #.

С уважением,

КГР

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...