Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 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 inicia en la llave de apertura del método Main, que es Console.WriteLine("Hello world!");
Compilación y ejecución de programas de C#
C# es un lenguaje compilado . En la mayoría de los programas de C#, se usa el dotnet build comando para compilar un grupo de archivos de código fuente en un paquete binario. A continuación, use el dotnet run comando para ejecutar el programa. (Puede simplificar este proceso porque dotnet run compila el programa antes de ejecutarlo si es necesario). Estas herramientas admiten un amplio lenguaje de opciones de configuración y modificadores de línea de comandos. La dotnet interfaz de la línea de comandos (CLI), que se incluye en el SDK de .NET, proporciona muchas herramientas para generar y modificar archivos de C#.
A partir de C# 14 y .NET 10, puede crear aplicaciones basadas en archivos, lo que simplifica la compilación y ejecución de programas de C#. Use el dotnet run comando para ejecutar un programa contenido en un único *.cs archivo. Por ejemplo, si el siguiente fragmento de código se almacena en un archivo denominado hello-world.cs, puede ejecutarlo escribiendo dotnet run hello-world.cs:
#!/usr/bin/env dotnet
Console.WriteLine("Hello, World!");
La primera línea del programa contiene la secuencia #! para shells de Unix. La ubicación de la dotnet CLI puede variar en diferentes distribuciones. En cualquier sistema Unix, si establece el permiso execute (+x) en un archivo de C#, puede ejecutar el archivo de C# desde la línea de comandos:
./hello-world.cs
El origen de estos programas debe ser un único archivo, pero, de lo contrario, toda la sintaxis de C# es válida. Puede usar aplicaciones basadas en archivos para utilidades de línea de comandos pequeñas, prototipos u otros experimentos. Las aplicaciones basadas en archivos permiten directivas de preprocesador que configuran el sistema de compilación.
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 único valor. 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 a método) -
condition ? trueValue : falseValue(expresión condicional) -
new Person("John")(creación de objetos)
Una declaració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 declaraciones:
-
int x = 42;(declaración) -
Console.WriteLine("Hello");(instrucción de expresión - encapsula una expresión de llamada a método) -
if (condition) { /* code */ }(instrucción condicional) -
return result;(instrucción de devolución)
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 utiliza en int result = Math.Max(a, b);, pero se convierte en una declaración de expresión cuando se escribe solo como Math.Max(a, b);.
Para obtener información detallada sobre las declaraciones, vea Declaraciones. Para obtener información sobre los miembros con cuerpo de expresión y otras características relacionadas con expresiones, vea Miembros con cuerpo de expresión.
Secciones relacionadas
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#.