Punto de entrada del programa

El método Main

Punto de entrada del programa

Cada programa en C# debe incluir una clase que contenga un método llamado Main. En los ejemplos que hemos visto antes, este método se define dentro de la clase Program.

Sin embargo, las versiones modernas de C# permiten omitir la escritura explícita de Main: el código escrito directamente al principio del archivo actúa por defecto como el cuerpo de Main.

  • La ejecución de un programa C# comienza en la primera línea de código dentro del método Main.
  • El nombre del método Main debe empezar con la letra M en mayúscula.

Forma más simplificada del método Main:

static void Main( )
{
    Sentencias de código
}Lenguaje del código: JavaScript (javascript)

No podemos tener cero ni varios métodos Main, solo se permite uno único.

Para realizar la demostración, crearemos un proyecto .NET Framework con Visual Studio 2022, compatible únicamente con Windows.

Selecciona la plantilla de aplicación consola que aparece abajo.

En el apartado de versión del framework, elegimos la versión más reciente .NET 4.8.1.

El contenido predeterminado del archivo Program.cs es el siguiente:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HelloDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
        }
    }
}
Lenguaje del código: PHP (php)

Las líneas iniciales importan varios espacios de nombres, que nos permiten usar las clases nativas integradas de .NET que contienen dichos espacios.

Escribe esta línea de código dentro del método Main:

Console.WriteLine(«hello foxdevelop.com»);

Haz clic en el botón triangular verde «Start» situado en la parte superior de Visual Studio para ejecutar el programa.

El ejecutable ejecutará por defecto la primera instrucción que encuentre dentro de Main.

Si duplicas el método Main, aparecerá un error inmediatamente.

El error ocurre porque no puede existir más de una función con el mismo nombre dentro de un mismo espacio de nombres. Vamos a crear dos espacios de nombres distintos para comprobarlo.

Ahora no aparecen las líneas onduladas rojas y parece estar correcto, pero si intentamos compilar el proyecto:

Pulsa Start

Se produce un error de compilación, que se muestra en la ventana Error List en la parte inferior del editor.

Si no ves la ventana Error List, puedes activarla desde la barra de menús superior.

La ventana de lista de errores te indicará la ubicación exacta donde se produce el fallo.

Caracteres de espacio en blanco (Whitespace)

Los caracteres de espacio en blanco son aquellos que no generan ninguna salida visible. El compilador ignora todos los espacios del código fuente; los desarrolladores los usamos para organizar el código y mejorar su legibilidad.
Los espacios en blanco más habituales son:

  • Espacio simple (Space)
  • Tabulador (Tab)
  • Salto de línea (New line)
  • Retorno de carro (Carriage return)

Ejemplo: estos dos fragmentos de código tienen un formato visual totalmente distinto, pero el compilador los procesa exactamente igual.

// Versión formateada y ordenada
Main()
{
    Console.WriteLine("Hi, there!");
}

// Versión compacta sin espacios
Main(){Console.WriteLine("Hi, there!");}Lenguaje del código: JavaScript (javascript)

A continuación tienes una versión normal y bien formateada del método Main:

        static void Main(string[] args)
        {
            Console.WriteLine("hello foxdevelop.com");
        }Lenguaje del código: JavaScript (javascript)

Si eliminamos todos los espacios y lo juntamos todo en una sola línea, el programa compilará sin problemas: para el compilador no hay ninguna diferencia funcional.

static void Main(string[] args){Console.WriteLine("hello foxdevelop.com");}Lenguaje del código: JavaScript (javascript)

Sentencias (Statements)

La sintaxis de las sentencias en C# es muy similar a la de C y C++. En esta sección veremos las reglas generales de las sentencias, mientras que los tipos especiales se explicarán más adelante.
Una sentencia es una línea de código fuente que define tipos de datos o indica al programa que realice una acción concreta.
Toda sentencia simple debe terminar con punto y coma ;. En el siguiente ejemplo con dos sentencias consecutivas: la primera declara una variable entera var1 y le asigna el valor 5; la segunda imprime ese valor en la ventana de consola.

int var1 = 5;
System.Console.WriteLine("The value of var1 is {0},welcome to foxdevelop.com", var1);Lenguaje del código: JavaScript (javascript)

El ejemplo de Main anterior tiene dos sentencias, mientras que en ejemplos anteriores solo usábamos una. La primera línea crea una variable entera llamada var1 y almacena el número 5; la segunda imprime texto en consola. El fragmento {0} dentro del texto es un marcador de posición que se reemplaza automáticamente por el valor guardado en var1.

Bloques de código (Blocks)

Un bloque de código está formado por un par de llaves que envuelven cero o varias sentencias; sintácticamente se considera como una única sentencia.

Si envolvemos las dos sentencias del ejemplo anterior entre llaves, formamos un bloque de código completo:

            {
                int var1 = 5;
                System.Console.WriteLine("The value of var1 is {0},welcome to foxdevelop.com", var1);
            }Lenguaje del código: JavaScript (javascript)

Reglas fundamentales de los bloques de código:

  1. Cuando una estructura sintáctica solo admite una sentencia pero necesitamos varias operaciones, envolvemos todo el código dentro de un bloque.
  2. Algunas construcciones gramaticales obligan a usar bloques de código y no se pueden sustituir por una sola sentencia.
  3. Las sentencias simples llevan punto y coma al final, pero los bloques de código no terminan con punto y coma. Aunque el compilador acepta un punto y coma después de la llave de cierre }, lo interpreta como una sentencia vacía y es una mala práctica de escritura.

Explicación gráfica:

{
    int var2 = 5; // Cada sentencia individual lleva punto y coma al final
    System.Console.WriteLine("The value of var1 is {0}", var1); // Cada sentencia individual lleva punto y coma al final
} // No se añade punto y coma tras la llave de cierreLenguaje del código: JavaScript (javascript)

Todas las sentencias independientes normales requieren un ; al final.

Aquí tienes un ejemplo completo que puedes copiar y ejecutar directamente:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HelloDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            {
                int var1 = 5;
                System.Console.WriteLine("The value of var1 is {0},welcome to foxdevelop.com", var1);
            }; ; ; ;
        }
    }
}
Lenguaje del código: PHP (php)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *