Melhor maneira de parâmetros de linha de comando de leitura em aplicativo de console

StackOverflow https://stackoverflow.com/questions/82838

  •  01-07-2019
  •  | 
  •  

Pergunta

A seguir estão dois modos de leitura nos parâmetros de linha de comando. A primeira é a maneira que eu estou a habituar a ver com o parâmetro na principal. O segundo eu tropecei em quando rever código. Notei que o segundo atribui o primeiro item na matriz para o caminho e aplicação, mas os primeiros saltos isso.

É apenas uma preferência ou é a segunda forma, a melhor maneira agora?

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

Eu acho que o mesmo pode ser feito em C #, por isso não é necessariamente uma questão vb.net.

Foi útil?

Solução

A segunda maneira é melhor porque ele pode ser usado fora do main (), então quando você refatorar é menos uma coisa a se pensar.

Além disso, eu não gosto a "mágica" que coloca o args no parâmetro método para o primeiro caminho.

Outras dicas

Você sabe getopt? Há uma porta para C # no CodePlex: http://www.codeplex.com/getopt

A primeira maneira é melhor porque é mais simples.

Para mim, a primeira forma parece mais intuitivo porque é assim que eu tenho feito isso desde meus dias de C / C ++.

Se o seu comando tem um demasiados interruptores Por favor, dê uma olhada getopt que Thomas recomenda. É bastante útil. Eu não tive uma olhada em C # porta do mesmo embora.

Saudações,

kgr

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top