Meilleure façon de lire les paramètres de ligne de commande dans une application console
-
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.
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