Meilleure façon de lire les paramètres de ligne de commande dans une application console

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

  •  01-07-2019
  •  | 
  •  

Question

Vous trouverez ci-dessous deux manières de lire les paramètres de ligne de commande. Le premier est la façon dont je suis habitué à voir en utilisant le paramètre dans la principale. La seconde, je suis tombé sur lors de l'examen du code. J'ai remarqué que le second attribue le premier élément du tableau au chemin et à l'application, mais le premier l'ignore.

S'agit-il simplement d'une préférence ou est-ce que la deuxième voie est la meilleure façon maintenant?

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

Je pense que la même chose peut être faite en C #, donc ce n'est pas nécessairement une question de vb.net.

Était-ce utile?

La solution

La deuxième façon est meilleure car elle peut être utilisée en dehors de main (), donc quand vous refactorisez, vous pensez moins.

De plus, je n'aime pas la "magie". qui met les arguments dans le paramètre method de la première manière.

Autres conseils

Savez-vous getopt? Il y a un port pour C # sur codeplex: http://www.codeplex.com/getopt

La première solution est préférable car plus simple.

Pour moi, le premier moyen semble plus intuitif, car c’est ainsi que je le fais depuis mes jours en C / C ++.

Si votre ligne de commande comporte un trop grand nombre de commutateurs, veuillez consulter la commande getopt recommandée par Thomas. C'est très utile. Je n’ai pas encore jeté un coup d’œil sur le port C #.

Cordialement,

kgr

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top