Estructura general de un programa de C#

Los programas de C# constan de uno o más 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 siguiente ejemplo es el esqueleto de un programa de C# que contiene todos estos elementos.

// A skeleton of a C# program
using System;

// Your program starts here:
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. Esta característica se agregó en C# 9. Antes de C# 9, el punto de entrada era un método estático denominado Main, 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)
        {
            //Your program starts here...
            Console.WriteLine("Hello world!");
        }
    }
}

Obtenga información sobre estos elementos del programa en la sección de tipos de la guía de aspectos básicos:

Especificación del lenguaje C#

Para obtener más información, consulte la sección Conceptos básicos de Especificación del lenguaje C#. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.