Я наследую техническое обслуживание нескольких консольных приложений, которые, естественно, вводятся с помощью 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[]
?»
В течение многих лет я мучился над тем, как лучше всего анализировать аргументы командной строки, когда все время это было «поместить их в правильном порядке!» [джк]