2008-09-17 3 views
18

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

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

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 вопрос.

ответ

20

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

Также мне не нравится «волшебство», которое ставит аргументы в параметре метода для первого способа.

+1

+ 1 для единой ответственности Принцип – 2010-04-28 19:58:31

2

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

1

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

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

Привет,

KGR

Смежные вопросы