Ответ 1
Второй способ лучше, потому что он может использоваться вне 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
Я думаю, что то же самое можно сделать в С#, поэтому это не обязательно вопрос vb.net.
Второй способ лучше, потому что он может использоваться вне main(), поэтому, когда вы реорганизуете его, нужно думать меньше.
Также мне не нравится "магия", которая помещает аргументы в параметр метода для первого способа.
Знаете ли вы getopt? Существует порт для С# на codeplex: http://www.codeplex.com/getopt
Первый способ лучше, потому что он проще.
Для меня первый способ кажется более интуитивным, потому что именно так я делаю это с моих дней C/С++.
Если у вашей командной строки есть слишком много переключателей, пожалуйста, взгляните на getopt, который рекомендует Томас. Это очень полезно. Я не смотрел на порт С# тем же, хотя.
Привет,
KGR