Я наследую обслуживание нескольких консольных приложений, которые вводятся, естественно, с помощью static void Main(string[] args)
. Однако код игнорирует массив args
и вместо этого считывает параметры командной строки из System.Environment.CommandLine
.
Есть ли здесь функциональная разница?
Содержимое выглядит идентично. Во всяком случае, я бы заподозрил незначительное снижение производительности при вызове System.Environment.CommandLine
(но недостаточно, чтобы я когда-либо беспокоился или достаточно заботился об измерении).
ОБНОВЛЕНИЕ: я подозревал, что System.Environment.CommandLine
должен содержать путь к исполняемому файлу, но я его не видел... потому что искал не в том месте. Код ТАКЖЕ имеет string[] arrCmdLine = System.Environment.GetCommandLineArgs();
.... System.Environment.CommandLine.ToLower()
проверяется на наличие "отладки " в то время как все остальные параметры извлекаются из GetCommandLineArgs()
, и я мысленно объединял их, когда говорил "почему бы просто не использовать args[]
?"
В течение многих лет я мучился над тем, как лучше всего анализировать аргументы командной строки, когда все это время было «поместить их в правильном порядке!» [jk]