Compartir a través de


Argumentos de la línea de comandos (Guía de programación de C#)

Puede enviar argumentos al método Main definiendo el método en una de las siguientes maneras:

static int Main(string[] args)
static void Main(string[] args)
NotaNota

Para habilitar argumentos de la línea de comandos en el método Main de una aplicación de formularios Windows Forms, debe modificar manualmente la firma de Main en program.cs.El código generado por el diseñador de Windows Forms crea un elemento Main sin parámetros de entrada.También puede utilizar Environment.CommandLine o Environment.GetCommandLineArgs a fin de obtener acceso a los argumentos de la línea de comandos desde cualquier punto en una aplicación de consola o para Windows.

El parámetro del método Main es una matriz de tipo String que representa los argumentos de la línea de comandos. Normalmente se comprueba si existen argumentos mediante la propiedad Length, por ejemplo:

if (args.Length == 0)
{
    System.Console.WriteLine("Please enter a numeric argument.");
    return 1;
}

También se pueden convertir los argumentos de tipo string en tipos numéricos mediante la clase Convert el método Parse. Por ejemplo, la instrucción siguiente convierte string en un número long mediante el método Parse:

long num = Int64.Parse(args[0]);

También se puede utilizar el tipo long de C#, que equivale a Int64:

long num = long.Parse(args[0]);

Igualmente, es posible usar el método ToInt64 de la clase Convert para lograr el mismo objetivo:

long num = Convert.ToInt64(s);

Para obtener más información, vea Parse y Convert.

Ejemplo

En el ejemplo siguiente se muestra cómo utilizar argumentos de la línea de comandos en una aplicación de consola. La aplicación toma un argumento en tiempo de ejecución, lo convierte en un número entero y calcula el valor factorial del número. Si no se proporciona ningún argumento, la aplicación emite un mensaje en el que se describe la forma de utilizarlo correctamente.

Para compilar y ejecutar la aplicación desde un símbolo del sistema, siga estos pasos:

  1. Pegue el código siguiente en cualquier editor de texto y, a continuación, guarde el archivo como archivo de texto con el nombre Factorial.cs.

    //Add a using directive for System if the directive isn't already present. 
    
    public class Functions
    {
        public static long Factorial(int n)
        {
            // Test for invalid input 
            if ((n < 0) || (n > 20))
            {
                return -1;
            }
    
            // Calculate the factorial iteratively rather than recursively: 
            long tempResult = 1;
            for (int i = 1; i <= n; i++)
            {
                tempResult *= i;
            }
            return tempResult;
        }
    }
    
    class MainClass
    {
        static int Main(string[] args)
        {
            // Test if input arguments were supplied: 
            if (args.Length == 0)
            {
                System.Console.WriteLine("Please enter a numeric argument.");
                System.Console.WriteLine("Usage: Factorial <num>");
                return 1;
            }
    
            // Try to convert the input arguments to numbers. This will throw 
            // an exception if the argument is not a number. 
            // num = int.Parse(args[0]); 
            int num;
            bool test = int.TryParse(args[0], out num);
            if (test == false)
            {
                System.Console.WriteLine("Please enter a numeric argument.");
                System.Console.WriteLine("Usage: Factorial <num>");
                return 1;
            }
    
            // Calculate factorial. 
            long result = Functions.Factorial(num);
    
            // Print result. 
            if (result == -1)
                System.Console.WriteLine("Input must be >= 0 and <= 20.");
            else
                System.Console.WriteLine("The Factorial of {0} is {1}.", num, result);
    
            return 0;
        }
    }
    // If 3 is entered on command line, the 
    // output reads: The factorial of 3 is 6.
    
  2. Desde la pantalla Iniciar o desde el menú Iniciar, abra una ventana Símbolo del sistema para desarrolladores de Visual Studio y después navegue hasta la carpeta que contiene el archivo que acaba de crear.

  3. Especifique el comando siguiente para compilar la aplicación.

    csc Factorial.cs

    Si la aplicación no tiene ningún error de compilación, se crea un archivo ejecutable denominado Factorial.exe.

  4. Escriba el comando siguiente para calcular el factorial de 3:

    Factorial 3

  5. El comando produce este resultado: The factorial of 3 is 6.

NotaNota

Si ejecuta una aplicación en Visual Studio, puede especificar argumentos de la línea de comandos en Página Depuración, Diseñador de proyectos.

Para obtener más ejemplos sobre cómo utilizar los argumentos de la línea de comandos, vea Cómo: Crear y utilizar ensamblados desde la línea de comandos (C# y Visual Basic).

Vea también

Tareas

Cómo: Mostrar argumentos de la línea de comandos (Guía de programación de C#)

Cómo: Obtener acceso a argumentos de la línea de comandos utilizando Foreach (Guía de programación de C#)

Referencia

Valores devueltos de Main() (Guía de programación de C#)

Clases (Guía de programación de C#)

Environment

Conceptos

Guía de programación de C#

Main() y argumentos de línea de comandos (Guía de programación de C#)