Compartir a través de


Estructura general de un programa de C#

Los programas de C# constan de uno o varios archivos. Cada archivo contiene cero o más espacios de nombres. Un espacio de nombres contiene tipos como clases, estructuras, interfaces, enumeraciones y delegados, u otros espacios de nombres. El ejemplo siguiente es el esqueleto de un programa de C# que contiene todos estos elementos.

using System;

Console.WriteLine("Hello world!");

namespace YourNamespace
{
    class YourClass
    {
    }

    struct YourStruct
    {
    }

    interface IYourInterface
    {
    }

    delegate int YourDelegate();

    enum YourEnum
    {
    }

    namespace YourNestedNamespace
    {
        struct YourStruct
        {
        }
    }
}

En el ejemplo anterior se usan instrucciones de nivel superior para el punto de entrada del programa. Solo un archivo puede tener declaraciones de nivel superior. El punto de entrada del programa es la primera línea de texto del programa en ese archivo. En este caso, es el Console.WriteLine("Hello world!");. También puede crear un método estático denominado Main como punto de entrada del programa, como se muestra en el ejemplo siguiente:

// A skeleton of a C# program
using System;
namespace YourNamespace
{
    class YourClass
    {
    }

    struct YourStruct
    {
    }

    interface IYourInterface
    {
    }

    delegate int YourDelegate();

    enum YourEnum
    {
    }

    namespace YourNestedNamespace
    {
        struct YourStruct
        {
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello world!");
        }
    }
}

En ese caso, el programa se iniciará en la primera línea del método Main, que es Console.WriteLine("Hello world!");

Expresiones e instrucciones

Los programas de C# se compilan mediante expresiones e instrucciones. Las expresiones generan un valor y las instrucciones realizan una acción:

Una expresión es una combinación de valores, variables, operadores y llamadas de método que se evalúan como un valor único. Las expresiones generan un resultado y se pueden usar siempre que se espere un valor. Los ejemplos siguientes son expresiones:

  • 42 (valor literal)
  • x + y (operación aritmética)
  • Math.Max(a, b) (llamada al método)
  • condition ? trueValue : falseValue (expresión condicional)
  • new Person("John") (creación de objetos)

Una instrucción es una instrucción completa que realiza una acción. Las instrucciones no devuelven valores; en su lugar, controlan el flujo del programa, declaran variables o realizan operaciones. Los ejemplos siguientes son instrucciones:

  • int x = 42; (declaración)
  • Console.WriteLine("Hello"); (instrucción expression: encapsula una expresión de llamada de método)
  • if (condition) { /* code */ } (instrucción condicional)
  • return result; (instrucción return)

La distinción clave: las expresiones se evalúan como valores, mientras que las instrucciones realizan acciones. Algunas construcciones, como las llamadas a métodos, pueden ser ambas. Por ejemplo, Math.Max(a, b) es una expresión cuando se usa en , pero se convierte en int result = Math.Max(a, b);una instrucción de expresión cuando se escribe solo como Math.Max(a, b);.

Para obtener información detallada sobre las instrucciones, vea Instrucciones. Para obtener información sobre los miembros con forma de expresión y otras características de expresión, vea Miembros con forma de expresión.

Aprende sobre estos elementos del programa en la sección tipos de la guía de fundamentos:

Especificación del lenguaje C#

Para obtener más información, vea conceptos básicos en la especificación del lenguaje C# . La especificación del lenguaje es el origen definitivo de la sintaxis y el uso de C#.