Estoy heredando mantenimiento en varias aplicaciones de consola que se ingresan, naturalmente, con static void Main(string[] args)
. Sin embargo, el código ignora la matriz args
y, en su lugar, lee los parámetros de la línea de comandos de System.Environment.CommandLine
.¿Cuál es la diferencia entre (cadena [] args) y System.Environment.CommandLine?
¿Hay alguna diferencia funcional, aquí?
El contenido es idéntico. En todo caso, sospecharía un golpe de rendimiento minuto al invocar System.Environment.CommandLine
(pero no lo suficiente como para preocuparme o preocuparme por medir).
ACTUALIZACIÓN: He sospecha que System.Environment.CommandLine
debe contener la ruta ejecutable, pero no lo estaba viendo ... porque yo estaba buscando en el lugar equivocado. El código TAMBIÉN tiene string[] arrCmdLine = System.Environment.GetCommandLineArgs();
.... System.Environment.CommandLine.ToLower()
se comprueba la presencia de "depuración", mientras que todos los demás parámetros se extraen de GetCommandLineArgs()
y estaba mentalmente combinando los dos mientras iba "¿por qué no utilizar args[]
?"
Durante años he estado agonizando sobre la mejor manera de analizar args de línea de comandos, cuando todo fue "¡colóquelos en el orden correcto!" [jk]