Ich erben Wartung auf mehreren Konsolenanwendung, die natürlich mit static void Main(string[] args)
eingegeben werden. Der Code ignoriert jedoch das Array args
und liest stattdessen die Befehlszeilenparameter aus System.Environment.CommandLine
.Was ist der Unterschied zwischen (string [] args) und System.Environment.CommandLine?
Gibt es hier einen funktionalen Unterschied?
Der Inhalt sieht identisch aus. Wenn überhaupt, würde ich einen winzigen Leistungseinbruch vermuten, indem ich System.Environment.CommandLine
anrufe (aber nicht genug, dass ich jemals besorgt oder vorsichtig genug wäre, um zu messen).
UPDATE: Ich vermuten, dass System.Environment.CommandLine
den ausführbaren Pfad enthalten soll, aber ich sah es nicht ..., weil ich an der falschen Stelle suchen. Der Code ALSO hat string[] arrCmdLine = System.Environment.GetCommandLineArgs();
.... System.Environment.CommandLine.ToLower()
ist auf das Vorhandensein von "Debug" überprüft, während alle anderen Parameter aus extrahiert werden und ich mental die beiden zusammenzufliessen, während ich ging "warum nicht einfach args[]
verwenden?"
Seit Jahren habe ich mich über den besten Weg gequält, Kommandozeilenargumente zu parsen, wenn sie die ganze Zeit "in die richtige Reihenfolge gebracht" haben! [jk]