Desarrollo - .NET - Curso básico C#
- Lección 1: Introducción a C# y .NET
- Historia y propósito de C# y .NET
- Instalación de Visual Studio 2022
- Creación de un proyecto simple en C#
- Lección 2: Conceptos básicos de C#
- Variables y tipos de datos
- Operadores y expresiones
- Lección 3: Estructuras de control en C#
- Variables y tipos de datos
- Bucles For
- Bucles While
- Lección 4: Funciones en C#
- Definición y uso de funciones
- Lección 5: Colecciones en C#
- Listas
- Diccionarios
- Lección 6: Programación Orientada a Objetos en C#
- Clases y objetos
- Lección 7: Manejo de Excepciones en C#
- Try, catch y finally
- Lección 8: Trabajando con archivos en C#
- Lectura y escritura de archivos
- Lección 9: Bases de Datos y SQL Server en C#
- Lección 10: Publicación de tu aplicación y buenas prácticas en C#
Lección 1: Introducción a C# y .NET
C# es un lenguaje de programación moderno y versátil desarrollado por Microsoft. Está diseñado para ser simple, potente y fácil de aprender. C# se utiliza en una variedad de aplicaciones, incluidos juegos, aplicaciones móviles y aplicaciones web.
.NET es un marco de trabajo (framework) desarrollado por Microsoft que proporciona un entorno de ejecución para aplicaciones basadas en C#. .NET es compatible con múltiples plataformas, lo que significa que puedes ejecutar aplicaciones .NET en Windows, macOS y Linux.
Visual Studio 2022 es un entorno de desarrollo integrado (IDE) creado por Microsoft que proporciona un conjunto de herramientas para desarrollar aplicaciones en C# y otros lenguajes de programación. Es el IDE recomendado para trabajar con C# y .NET.
Instalación de Visual Studio 2022:
- Ve al sitio web de Visual Studio: https://visualstudio.microsoft.com/
- Haz clic en "Download Visual Studio" y selecciona la versión "Community" (gratuita para uso personal y de pequeñas empresas).
- Ejecuta el instalador descargado y sigue las instrucciones en pantalla. Asegúrate de seleccionar "Desarrollo de escritorio con .NET" y "Desarrollo web de ASP.NET y Azure" durante la instalación.
Creación de un proyecto simple en C#:
- Abre Visual Studio 2022.
- Haz clic en "Crear un nuevo proyecto".
- Selecciona "Aplicación de consola de C#" y haz clic en "Siguiente".
- Elige un nombre y ubicación para tu proyecto, luego haz clic en "Crear".
- Visual Studio generará un proyecto de consola simple que incluye el siguiente código:
using System;
namespace MiPrimerProyectoCSharp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("¡Hola, mundo!");
}
}
}
Lección 2: Conceptos básicos de C#
En C#, una variable es un contenedor que almacena un valor. Cada variable tiene un tipo de dato que indica qué tipo de valor puede almacenar. Algunos de los tipos de datos más comunes en C# son:
int: Números enteros (por ejemplo, -3, 0, 42).
float: Números de punto flotante de precisión simple (por ejemplo, 3.14f, -0.001f).
double: Números de punto flotante de doble precisión (por ejemplo, 3.14159265359, -0.00001).
bool: Valores booleanos (verdadero o falso).
char: Un solo carácter (por ejemplo, 'a', 'Z', '9').
string: Una secuencia de caracteres (por ejemplo, "¡Hola, mundo!").
Aquí hay un ejemplo de cómo declarar y asignar valores a variables en C#:
int numeroEntero = 42;
float numeroDecimal = 3.14f;
double numeroPreciso = 2.718281828459;
bool esVerdadero = true;
char letra = 'A';
string texto = "Esto es un ejemplo.";
Operadores en C#
Los operadores en C# te permiten realizar operaciones matemáticas y lógicas con variables y valores. Algunos de los operadores más comunes en C# incluyen:
Aritméticos: +, -, *, /, %
Comparación: ==, !=, <, >, <=, >=
Lógicos: && (y), || (o), ! (no)
Asignación: =, +=, -=, *=, /=, %=
Aquí hay un ejemplo de cómo utilizar operadores en C#:
int a = 10;
int b = 3;
int suma = a + b; // 13
int resta = a - b; // 7
int producto = a * b; // 30
int division = a / b; // 3
int modulo = a % b; // 1
bool esIgual = a == b; // false
Este es un programa básico de "¡Hola, mundo!" en C#. Para ejecutarlo, presiona F5 o haz clic en "Depurar" > "Iniciar depuración" en la barra de menú. Verás una ventana de consola que muestra "¡Hola, mundo!" antes de cerrarse automáticamente.
Lección 3: Estructuras de control en C# - Declaraciones if, bucles for y bucles while
Declaraciones if:
Las declaraciones if en C# te permiten ejecutar diferentes bloques de código según una condición. Aquí tienes un ejemplo de cómo utilizar una declaración if en C#:
int numero = 42;
if (numero > 0)
{
Console.WriteLine("El número es positivo.");
}
else if (numero < 0)
{
Console.WriteLine("El número es negativo.");
}
else
{
Console.WriteLine("El número es cero.");
}
Bucles for:
Los bucles for en C# te permiten ejecutar un bloque de código un número específico de veces. Aquí tienes un ejemplo de cómo utilizar un bucle for en C#:
for (int i = 0; i < 10; i++)
{
Console.WriteLine($"Número: {i}");
}
Bucles while:
Los bucles while en C# te permiten ejecutar un bloque de código mientras una condición sea verdadera. Aquí tienes un ejemplo de cómo utilizar un bucle while en C#:
int contador = 0;
while (contador < 10)
{
Console.WriteLine($"Número: {contador}");
contador++;
}
Lección 4: Funciones en C# - Definición y uso de funciones
Las funciones en C# son bloques de código que realizan una tarea específica y pueden ser llamadas por su nombre. Las funciones pueden tener parámetros y devolver un valor.
Aquí tienes un ejemplo de cómo definir y utilizar una función en C#:
// Definición de la función
static int Sumar(int a, int b)
{
int resultado = a + b;
return resultado;
}
// Uso de la función
static void Main(string[] args)
{
int numero1 = 5;
int numero2 = 10;
int suma = Sumar(numero1, numero2);
Console.WriteLine($"La suma de {numero1} y {numero2} es {suma}.");
}
Lección 5: Colecciones en C# - Listas y diccionarios
Las colecciones en C# te permiten almacenar y manipular grupos de objetos. Las listas y diccionarios son dos tipos comunes de colecciones.
Listas:
Una lista es una colección de elementos ordenados y accesibles por índice. Aquí tienes un ejemplo de cómo trabajar con listas en C#:
using System.Collections.Generic;
// Crear una lista de enteros
List<int> numeros = new List<int> { 1, 2, 3, 4, 5 };
// Añadir un elemento a la lista
numeros.Add(6);
// Acceder a un elemento de la lista
int segundoNumero = numeros[1]; // 2
// Eliminar un elemento de la lista
numeros.Remove(3);
// Recorrer la lista usando un bucle for
for (int i = 0; i < numeros.Count; i++)
{
Console.WriteLine(numeros[i]);
}
Diccionarios:
Un diccionario es una colección de pares clave-valor, donde cada clave está asociada a un valor. Aquí tienes un ejemplo de cómo trabajar con diccionarios en C#:
using System.Collections.Generic;
// Crear un diccionario de palabras y su traducción
Dictionary<string, string> diccionario = new Dictionary<string, string>
{
{ "casa", "house" },
{ "gato", "cat" },
{ "perro", "dog" }
};
// Añadir un elemento al diccionario
diccionario.Add("libro", "book");
// Acceder a un elemento del diccionario
string traduccion = diccionario["gato"]; // "cat"
// Eliminar un elemento del diccionario
diccionario.Remove("perro");
// Recorrer el diccionario usando un bucle foreach
foreach (KeyValuePair<string, string> palabra in diccionario)
{
Console.WriteLine($"{palabra.Key} => {palabra.Value}");
}
Lección 6: Programación Orientada a Objetos en C# - Clases y Objetos
La programación orientada a objetos (POO) es un paradigma de programación que utiliza objetos y sus interacciones para diseñar aplicaciones y programas de software.
Clases:
Una clase en C# es una plantilla para crear objetos. Una clase define los campos (variables) y métodos (funciones) que serán comunes a todos los objetos de la clase.
Aquí tienes un ejemplo de cómo definir una clase en C#:
public class Perro
{
// Campos
public string nombre;
public int edad;
// Método
public void Ladrar()
{
Console.WriteLine(nombre + " dice: ¡Guau!");
}
}
Objetos:
Un objeto es una instancia de una clase. Un objeto tiene un estado (representado por sus campos) y un comportamiento (representado por sus métodos).
Aquí tienes un ejemplo de cómo crear y utilizar un objeto en C#:
// Crear un objeto de la clase Perro
Perro miPerro = new Perro();
// Asignar valores a los campos
miPerro.nombre = "Fido";
miPerro.edad = 3;
// Llamar al método del objeto
miPerro.Ladrar(); // Fido dice: ¡Guau!
Lección 7: Manejo de Excepciones en C#
Las excepciones son eventos que ocurren durante la ejecución de un programa que interrumpen el flujo normal de las instrucciones del programa. Cuando ocurre una excepción, el programa pasa el control a una sección especial de código llamada manejador de excepciones.
C# proporciona una forma sólida de manejar los errores a través de su sistema de manejo de excepciones. Aquí te muestro cómo puedes hacerlo:
try
{
// Código que puede causar una excepción
int divisor = 0;
int resultado = 10 / divisor;
}
catch (DivideByZeroException ex)
{
// Código para manejar la excepción
Console.WriteLine("Error: " + ex.Message);
}
finally
{
// Código que se ejecuta siempre, independientemente de si se produce una excepción
Console.WriteLine("Siempre se ejecuta el bloque finally.");
}
En este ejemplo, el código en el bloque `try` puede causar una excepción `DivideByZeroException`. Si eso sucede, el control se pasa al bloque `catch`, que maneja la excepción y muestra un mensaje de error. El bloque `finally` contiene código que se ejecuta siempre, independientemente de si se produce una excepción.
El manejo de excepciones es una parte importante de cualquier aplicación robusta, ya que permite a tu programa responder a los errores de manera elegante en lugar de detenerse abruptamente.
Lección 8: Trabajando con archivos en C#
C# proporciona una serie de clases en la biblioteca .NET Framework que ayudan en la lectura y escritura de archivos. Dos de las clases más comúnmente utilizadas son StreamReader y StreamWriter en el espacio de nombres System.IO.
Aquí tienes un ejemplo de cómo puedes leer de un archivo:
try
{
using (StreamReader sr = new StreamReader("test.txt"))
{
string line = sr.ReadToEnd();
Console.WriteLine(line);
}
}
catch (IOException e)
{
Console.WriteLine("El archivo no se pudo leer:");
Console.WriteLine(e.Message);
}
Y aquí está cómo puedes escribir en un archivo:
try
{
using (StreamWriter sw = new StreamWriter("test.txt"))
{
sw.WriteLine("Hola Mundo");
}
}
catch (IOException e)
{
Console.WriteLine("El archivo no se pudo escribir:");
Console.WriteLine(e.Message);
}
Estos ejemplos leen y escriben desde un archivo llamado test.txt en el directorio del proyecto. Si el archivo no existe, el StreamWriter lo creará.
Lección 9: Bases de Datos y SQL Server en C#
En esta lección, aprenderás cómo trabajar con bases de datos en SQL Server utilizando C#. Necesitarás la biblioteca System.Data.SqlClient, que es una biblioteca proporcionada por .NET para trabajar con SQL Server.
Aquí tienes un ejemplo de cómo puedes conectar a una base de datos y realizar una consulta:
using System.Data.SqlClient;
string connectionString = "Data Source=(local);Initial Catalog=NombreDeTuBaseDeDatos;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string sql = "SELECT * FROM TuTabla";
SqlCommand command = new SqlCommand(sql, connection);
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine("{0} {1}", reader.GetString(0), reader.GetString(1));
}
}
}
Este código se conecta a la base de datos NombreDeTuBaseDeDatos en el servidor local, selecciona todos los registros de la tabla TuTabla y luego imprime cada registro en la consola.
Lección 10: Publicación de tu aplicación y buenas prácticas en C#
Finalmente, después de desarrollar tu aplicación en C#, necesitarás publicarla para que otros puedan usarla. Visual Studio proporciona una forma sencilla de hacerlo.
- Abre tu proyecto en Visual Studio.
- Ve al menú "Build" (Construir) y elige "Publish <YourProjectName>" (Publicar <NombreDeTuProyecto>).
- Sigue las instrucciones en el asistente de publicación para elegir cómo y dónde quieres publicar tu aplicación.
Además de la publicación de tu aplicación, es importante seguir algunas buenas prácticas al escribir código C#. Estos son algunos consejos:
- Mantén tus métodos y clases pequeños y centrados en una sola responsabilidad.
- Usa nombres descriptivos para tus clases, métodos y variables.
- Evita la duplicación de código extrayendo código común en métodos o clases reutilizables.
- Escribe comentarios para explicar el por qué de tu código, no el qué. El código debería ser suficientemente claro en su propósito por sí mismo.
En resumen, la publicación de tu aplicación es una tarea importante después de la fase de desarrollo. Siguiendo algunas buenas prácticas, puedes hacer que tu código sea más legible y fácil de mantener en el futuro.
¡Felicitaciones por llegar al final de esta serie de lecciones sobre C#! Espero que hayas encontrado esta información útil y estés listo para comenzar a desarrollar aplicaciones en C#.

Comentarios