# Tutorial Completo de C# en el Último Standard
Este tutorial cubre los conceptos básicos y avanzados de C# en su última versión. A lo largo del
tutorial, se proporcionarán ejemplos de código y se explicará la salida en consola.
## Tabla de Contenidos
1. [Introducción a C#](#introducción-a-c)
2. [Configuración del Entorno](#configuración-del-entorno)
3. [Sintaxis Básica](#sintaxis-básica)
4. [Tipos de Datos](#tipos-de-datos)
5. [Estructuras de Control](#estructuras-de-control)
6. [Funciones y Métodos](#funciones-y-métodos)
7. [Programación Orientada a Objetos](#programación-orientada-a-objetos)
8. [Manejo de Excepciones](#manejo-de-excepciones)
9. [LINQ](#linq)
10. [Conclusión](#conclusión)
## Introducción a C#
C# es un lenguaje de programación moderno, orientado a objetos y de propósito general
desarrollado por Microsoft. Es parte de la plataforma .NET y se utiliza para desarrollar
aplicaciones de escritorio, web y móviles.
## Configuración del Entorno
Para comenzar a programar en C#, necesitas instalar el SDK de .NET. Puedes descargarlo desde
[la página oficial de .NET](https://dotnet.microsoft.com/download).
### Instalación de Visual Studio
1. Descarga e instala [Visual Studio](https://visualstudio.microsoft.com/).
2. Selecciona la carga de trabajo "Desarrollo de aplicaciones de escritorio con .NET".
## Sintaxis Básica
La sintaxis de C# es similar a otros lenguajes de programación como Java y C++. Aquí hay un
ejemplo básico de un programa en C#:
```csharp
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("¡Hola, mundo!");
}
}
```
### Salida en Consola
Cuando ejecutas el programa anterior, la salida en consola será:
```
¡Hola, mundo!
```
## Tipos de Datos
C# tiene varios tipos de datos, incluyendo:
- `int`: Enteros
- `double`: Números de punto flotante
- `char`: Caracteres
- `string`: Cadenas de texto
- `bool`: Booleanos
### Ejemplo de Tipos de Datos
```csharp int edad =
25; double altura =
1.75;
char inicial = 'A'; string
nombre = "Juan";
bool esEstudiante = true;
Console.WriteLine($"Nombre: {nombre}, Edad: {edad}, Altura: {altura}, Inicial: {inicial},
Estudiante: {esEstudiante}");
```
### Salida en Consola
```
Nombre: Juan, Edad: 25, Altura: 1.75, Inicial: A, Estudiante: True
```
## Estructuras de Control
C# soporta varias estructuras de control como `if`, `switch`, `for`, `while`, y `foreach`.
### Ejemplo de Estructura `if`
```csharp
int numero = 10;
if (numero > 0)
{
Console.WriteLine("El número es positivo.");
}
else
{
Console.WriteLine("El número es negativo o cero.");
}
```
### Salida en Consola
```
El número es positivo.
```
## Funciones y Métodos
Las funciones en C# se definen utilizando la palabra clave `void` para funciones que no
devuelven un valor, o el tipo de dato que devuelven.
### Ejemplo de Función
```csharp
static int Sumar(int a, int b)
{
return a + b;
}
static void Main(string[] args)
{
int resultado = Sumar(5, 10);
Console.WriteLine($"La suma es: {resultado}");
}
```
### Salida en Consola
```
La suma es: 15
```
## Programación Orientada a Objetos
C# es un lenguaje orientado a objetos. Puedes definir clases y crear objetos a partir de ellas.
### Ejemplo de Clase
```csharp
class Persona
{
public string Nombre { get; set; }
public int Edad { get; set; }
public void Presentarse()
{
Console.WriteLine($"Hola, soy {Nombre} y tengo {Edad} años.");
}
}
static void Main(string[] args)
{
Persona persona = new Persona();
persona.Nombre = "Ana"; persona.Edad
= 30; persona.Presentarse();
}
```
### Salida en Consola
```
Hola, soy Ana y tengo 30 años.
```
## Manejo de Excepciones
C# utiliza bloques `try`, `catch` y `finally` para manejar excepciones.
### Ejemplo de Manejo de Excepciones
```csharp try
{
int resultado = 10 / 0;
}
catch (DivideByZeroException ex)
{
Console.WriteLine("Error: No se puede dividir por cero.");
}
```
### Salida en Consola
```
Error: No se puede dividir por cero.
```
## LINQ
LINQ (Language Integrated Query) permite realizar consultas sobre colecciones de datos de
manera sencilla.
### Ejemplo de LINQ
```csharp
using System.Collections.Generic; using
System.Linq;
static void Main(string[] args)
{
List<int> numeros = new List<int> { 1, 2, 3, 4, 5 };
var pares = from n in numeros
where n % 2 == 0
select n;
foreach (var num in pares)
{
Console.WriteLine(num);
}
}
```
### Salida en Consola
```
2
4
```
## Conclusión
Este tutorial ha cubierto los aspectos básicos y algunos avanzados de C#. A medida que
practiques y explores más, podrás crear aplicaciones más complejas y útiles. ¡Feliz
programación!