Tutorial: Aprender a programar con C#
Este tutorial ha sido diseñado, por un grupo de usuarios, para avanzar progresivamente desde los temas básicos estudiados en la carrera de ingeniería informática y grados FP hasta aspectos más avanzados a nivel profesional.
Nos introduce en la materia de estudio para ayudarnos a abordar aspectos más avanzados a través de apuntes y referencias externas tomadas de webs, foros, videotutoriales o ebooks.
📌 Este tutorial está dividido en capítulos (Índice), a los que que se puede acceder de manera directa (si ya se dominan los aspectos básicos).
Objetivos generales de esta guía: Conocer técnicas de programación orientada a objetos y adquirir las habilidades necesarias para el desarrollo de software y aplicaciones .NET utilizando el lenguaje de programación C#.
Objetivos específicos: programar con C Sharp
- Desarrollar aplicaciones en entorno Visual.
- Describir las características del lenguaje C#, dando a conocer los principales aspectos del mismo.
- Construir y ejecutar programas sencillos basados en C#.
- Definir y utilizar clases y métodos en C#.
- Definir y utilizar arrays y colecciones.
- Escribir instrucciones que controlen el flujo del programa.
- Identificar y utilizar referencias y tipos en C#.
- Conocer las principales características de la librería de acceso a bases de datos ADO.NET (Conjunto de componentes de software).
Dirigido a: Perfiles que necesiten desarrollar aplicaciones .NET en C#.
Requisitos: No es necesaria una base de programación en lenguajes orientados a objetos, aunque si se recomienda.
📖 Índice de Contenidos: C#
1. Introducción a Microsoft.Net
2. Introducción a C#
4. Clases
5. Espacios de nombres
7. Métodos
8. Propiedades
9. Estructuras
10. Enumeraciones
11. Instrucciones
12. Excepciones
13. Instrucciones de salto
14. Stream y ficheros
15. Acceso a datos en visual C# .Net con Ado .Net
16. Introducción FrameWork 3.5
1. Introducción a la programación en C#
C# [C Sharp] es un lenguaje de programación orientado a objetos desarrollado por Microsoft como parte de su plataforma .NET.
El entorno de desarrollo habitual es Visual Studio:
El lenguaje de programación C / C# se define como imperativo y declarativo, funcional, de procedimiento, genérico, orientado a objetos, y las disciplinas de programación orientado a componentes …
Tres aspectos hay que dominar inicialmente para comenzar a programar en C#:
- Plataforma .NET, junto a su kit de desarrollo .NET Framework SDK y entorno de programación Visual Studio.NET.
- La sintaxis y peculiaridades del lenguaje, los cuales suelen estudiarse a través de ejemplos.
- Y finalmente conocer cómo trabaja el compilador.
A partir de estos puntos que se tratan en los manuales indicados a continuación, se puede ir practicando con ejemplos propios, que es de lo que en definitiva se trata con un lenguaje de programación.
C# crea aplicaciones .NET Framework de forma más eficiente que VisualBasic, aunque de este tema se podría hablar largo y tendido. Visual C# es su implementación y se encuentra en el paquete de software Visual Studio .NET.
ASP.NET como componente del IIS permite generar páginas web del lado del servidor. Dispone de un entorno integrado .NET Framework. Podremos escribir aplicaciones .NET con distintos lenguajes de programación como C# o Visual Basic .NET.
2. Introducción a C#
Aprender a programar C# desde cero es una excelente idea. C# es un lenguaje de programación potente y versátil que se puede utilizar para crear una amplia gama de aplicaciones.
Si no sabes programar, no te preocupes. Aprender a programar es un proceso que requiere tiempo y esfuerzo, pero es muy gratificante.
Aquí tienes algunos consejos para ayudarte a aprender a programar C# desde cero:
- Comienza con los conceptos básicos. Antes de empezar a escribir código, es importante comprender los conceptos básicos de la programación, como los tipos de datos, las variables, las operaciones y las estructuras de control.
- Practica, practica, practica. La mejor manera de aprender a programar es practicar. Escribe código, prueba tus programas y corrige los errores que encuentres.
- Busca ayuda cuando la necesites. Hay muchos recursos disponibles para ayudarte a aprender a programar, como libros, tutoriales, cursos online y foros de discusión.
Con un poco de esfuerzo y dedicación, podrás aprender a programar C# y crear tus propias aplicaciones.
3. Aspectos léxicos de C#
Los aspectos léxicos de C# son los que definen la forma en que el lenguaje interpreta el código fuente. Estos aspectos incluyen los siguientes:
- Los símbolos son los elementos básicos del lenguaje, como las palabras clave, los operadores, los identificadores y los literales.
- Las reglas de sintaxis definen cómo se deben combinar los símbolos para formar declaraciones y expresiones válidas.
- La semántica define el significado de las declaraciones y expresiones.
Son importantes porque definen cómo se debe escribir el código C# para que sea válido y significativo.
Algunos de los aspectos léxicos más importantes de C# son los siguientes:
- Las palabras clave son palabras reservadas que tienen un significado especial en el lenguaje C#. Por ejemplo, las palabras clave class, public y static tienen significados específicos en el contexto de la definición de clases.
- Los operadores son símbolos que se utilizan para realizar operaciones matemáticas, lógicas y de comparación. Por ejemplo, el operador + se utiliza para sumar dos números.
- Los identificadores son nombres que se utilizan para referirse a objetos, variables, métodos y clases. Por ejemplo, el identificador myVar se puede utilizar para referirse a una variable.
- Los literales son valores que se utilizan para representar números, texto, fechas y otros tipos de datos. Por ejemplo, el literal 10 representa el número 10.
Es importante conocer los aspectos léxicos de C# para poder escribir código válido y significativo.
Algunos consejos para aprender los aspectos léxicos de C#:
- Lee la documentación oficial de C#. La documentación oficial de C# proporciona una descripción completa de los aspectos léxicos del lenguaje.
- Practica escribiendo código C#. La mejor manera de aprender los aspectos léxicos de C# es practicar escribiendo código.
- Utiliza un editor de texto o IDE que te ayude a detectar errores léxicos. Un editor de texto o IDE que te ayude a detectar errores léxicos puede ayudarte a identificar problemas en tu código.
Con un poco de práctica, podrás aprender los aspectos léxicos de C# y escribir código válido y significativo.
6. Variables y tipos de datos en C Sharp
En C#, las variables son espacios en la memoria del ordenador que se utilizan para almacenar datos. Para declarar una variable, utilizamos el siguiente formato:
tipo nombreDeVariable;
Por ejemplo, para declarar una variable de tipo entero, utilizaríamos el siguiente código:
int miVariable;
Una vez declarada una variable, podemos asignarle un valor utilizando el siguiente operador:
nombreDeVariable = valor;
Por ejemplo, para asignar el valor 10 a la variable miVariable, utilizaríamos el siguiente código:
miVariable = 10;
Podemos utilizar las variables para almacenar cualquier tipo de datos, incluidos números, texto, fechas y otros tipos de datos complejos.
C# proporciona una amplia variedad de tipos de datos, cada uno con su propio tamaño y rango de valores.
Algunos de los tipos de datos más comunes en C# son los siguientes:
int: Números enteros.
float: Números de punto flotante.
double: Números de punto flotante de doble precisión.
string: Cadenas de texto.
bool: Valores booleanos (verdadero o falso).
Para obtener más información sobre los tipos de datos en C#, puedes consultar la documentación oficial del lenguaje.
Aquí tienes algunos ejemplos de cómo se pueden utilizar las variables en C#:
- Para almacenar el número de veces que se ejecuta un bucle.
- Para almacenar el nombre de un usuario.
- Para almacenar el resultado de una operación matemática.
13. Instrucciones de salto en C#
En C#, las instrucciones de salto son instrucciones que permiten transferir el control de ejecución a otra parte del programa.
Hay varios tipos de instrucciones de salto en C#, cada una con su propio propósito. Las instrucciones de salto más comunes son las siguientes:
- break: Termina la ejecución del bucle o la instrucción switch más cercana.
- continue: Salta a la siguiente iteración del bucle más cercano.
- return: Devuelve el control al método que llamó al método actual.
- goto: Salta a la instrucción etiquetada especificada.
Las instrucciones de salto se utilizan para controlar el flujo de ejecución del programa. Por ejemplo, podemos utilizar una instrucción break para salir de un bucle cuando se cumple una condición determinada.
También podemos utilizar una instrucción continue para saltar a la siguiente iteración de un bucle cuando se cumple una condición determinada.
Las instrucciones de salto se pueden utilizar para realizar una variedad de tareas, incluyendo:
- Controlar el flujo de ejecución de un bucle.
- Ejecutar código en función de una condición determinada.
- Saltar a una sección de código específica.
Para entender cómo funcionan las instrucciones de salto, es importante comprender el concepto de flujo de ejecución.
El flujo de ejecución es el orden en el que se ejecutan las instrucciones de un programa. Por lo general, el flujo de ejecución de un programa se ejecuta de arriba a abajo, una instrucción a la vez.
Sin embargo, las instrucciones de salto pueden interrumpir el flujo de ejecución normal y transferir el control a otra parte del programa.
Vamos a ver un ejemplo de cómo se utiliza una instrucción break para controlar el flujo de ejecución de un bucle:
int i = 0;
while (i < 10)
{
// …
i++;
// Si i es igual a 5, salimos del bucle
if (i == 5)
{
break;
}
}
En este ejemplo, tenemos un bucle while que se ejecuta 10 veces.
En cada iteración del bucle, incrementamos el valor de la variable i en 1.
Si i es igual a 5, utilizamos la instrucción break para salir del bucle.
De esta forma, el bucle solo se ejecutará 5 veces.
Vamos a ver otro ejemplo de cómo se utiliza una instrucción continue para controlar el flujo de ejecución de un bucle:
int i = 0;
while (i < 10)
{
// …
i++;
// Si i es divisible por 2, saltamos a la siguiente iteración del bucle
if (i % 2 == 0)
{
continue;
}
// …
}
En este ejemplo, tenemos un bucle while que se ejecuta 10 veces.
En cada iteración del bucle, incrementamos el valor de la variable i en 1.
Si i es divisible por 2, utilizamos la instrucción continue para saltar a la siguiente iteración del bucle.
De esta forma, el bucle solo imprimirá los números impares del 1 al 10.
Las instrucciones de salto son una herramienta poderosa que puede utilizarse para controlar el flujo de ejecución de un programa. Con un poco de práctica y paciencia, podrás utilizarlas para escribir código C# más eficiente y eficaz.
Recopilación de tutoriales gratis sobre C#
Lo que necesitas conocer para dominar a nivel básico Visual C#:
- Manual del lenguaje C#: Curso de repaso diseñado para ayudarle a recordar algunos conceptos básicos de programación en msdn.microsoft.com.
- El lenguaje de programación C# de José Antonio González Seco en PDF en melca.com.ar.
- Curso de iniciación a la programación con C# de elguille.info (Uno de los mejores, con mucho tiempo en la web).
- Prism for the Windows Runtime: Developing a Windows Store business app using C#, XAML, and Prism en PDF.
- Developing an end-to-end Windows Store app using C++ and XAML: Hilo en PDF.
- Curso de lenguaje C en carlospes.com. Los contenidos de este curso han sido extraídos de los libros Empezar de Cero a Programar en Lenguaje C y Domine la Programación en Lenguaje C escritos por el propio autor.
- Tutoriales de C /C++ y C# de nachocabanes.com.
- Web oficial de Microsoft Developers con ejemplos msdn2.microsoft.com.
- elguille.info para .NET y elguille.info para C#.
- Manual web muy completo en html que comprende desde el nivel iniciación hasta el intermedio – avanzado programacionfacil.com/csharp_net.
Aquí más recursos que te pueden ayudar a aprender a programar C#:
- Tutoriales:
- Microsoft Learn
- W3Schools
- TutorialsPoint
- Cursos online:
- Udemy
- Coursera
- edX
Videotutoriales destacados.
- Videotutorial aprendiendo C# de sek14 en Youtube.
- Curso de C# con Visual Studio Express 2012 de Alexis Jeansalle en Youtube.
Otros enlaces relacionados con la programación en C#
- Recursos Visual C# de la página oficial de MSDN dónde se incluye una Introducción al lenguaje C# y .NET Framework.
- Visual Studio en MSDN en msdn.microsoft.com (en inglés).
- Curso Aprender a Programar en C desde Cero de Empieza a Programar. Videocurso muy completo.
Resto de portales sobre C en inglés
A continuación os mostramos algunos de las mejores web para recabar información sobre programación en C# junto a una breve descripción de sus contenidos:
C # Corner es una comunidad social absolutamente GRATIS en línea para desarrolladores y profesionales de TI.
Donde intercambiar sus conocimientos y experiencias mediante la enseñanza y aprender unos de otros mediante el uso de diversos métodos interactivos en línea, tales como los artículos que contribuyen, foros de discusión, blogs y vídeos. Integra en inglés.
- Developers Dex developersdex.com/csharp.
- Csharphelp.com portal que incluye los apartados C# Articles C#, Code Snippets, .NET Articles, y foros en inglés.
- Imperdibles las webs codehound.com/csharp, Csharp-station.com y Csharpindex.com.
- Dotnetwire.com. NetWire es una fuente autorizada de Microsoft. Con información relacionada y noticias actualizadas, artículos y comentarios de forma gratuita.
Descargas relacionadas: C#
Descarga gratuita de Visual C# Express en visualstudio.com. Comprobarás que podrás instalar SQL 2008 para funciones básicas de bases de datos y que puedes eliminar la restricción de 30 días utilizando una cuenta Windows Live ID en la opción registro en línea.
Foros y comunidades C#:
- Foros de discusión: Stack Overflow, Reddit, Quora, ..
- En codeproject.com.
- Aquí tenéis otra con bastante código c-sharpcorner.com.
- Blog oficial MSDN.
Bibliografía recomendada.
Estos 3 libros son de los más descargados:
- C# in a Nutshell by Joseph Albahari and Ben Albahari
- Head First C# by David Griffiths
Cómo programar en C# (2ª edición) de Harvey Deitel. Resumen del índice de contenidos.
«Introducción a las computadoras, Internet y Visual C#. Introducción al IDE de Visual C# 2005 Express Edition. Introducción a las aplicaciones de C#.
Introducción a las clases y los objetos. Instrucciones de control. Métodos: un análisis más detallado. Arreglos. Clases y objetos: Un análisis más detallado.
Programación orientada a objetos: Herencia. Polimorfismo, interfaces y sobrecarga de operadores. Manejo de excepciones.
Conceptos de interfaz gráfica de usuario. Subprocesamiento múltiple. Cadenas, caracteres y expresiones regulares. Gráficos y multimedia. Archivos y flujos. Lenguaje de marcado extensible (XML).
Bases de datos, SQL y ADO.NET. ASP.NET 2.0, formularios Web Forms y controles Web. Servicios Web. Redes: sockets basados en flujos y datagramas. Estructuras de datos. Genéricos. Colecciones.
Apéndice: (CD-ROM del libro). Tabla de precedencia de los operadores 1041. Sistemas numéricos. Uso del depurador de Visual Studio® 2005.
Conjunto de caracteres ASCI E. Unicode®. Introducción a XHTML: parte 1. Introducción a XHTML: parte 2. Caracteres especiales de HTML/XHTML. Colores en HTML/XHTML. Código del caso de estudio del ATM. UML 2: tipos de diagramas adicionales. Los tipos simples».
Aprende a Programar en ASP .NET y C# de Ángel Arias. «ASP.NET es la plataforma de Microsoft para el desarrollo de aplicaciones Web y es el sucesor de la tecnología ASP.
Es un componente del IIS que permite a través de un lenguaje de programación integrado en la .NET Framework para crear páginas dinámicas. No es ni un lenguaje de programación como VBScript, PHP, ni un servidor web como IIS o Apache.
ASP.NET está basado en el Framework .NET heredando todas sus características, por eso, como cualquier aplicación .NET, las aplicaciones para esa plataforma pueden ser escritas en varios lenguajes, como C# y Visual Basic .NET.
Aunque se pueda desarrollar aplicaciones ASP.NET utilizando solamente un editor de texto y el compilador .NET, el entorno de desarrollo más común de las aplicaciones ASP.NET es el Visual Studio .NET ya que posee algunas características que facilitan el trabajo del desarrollador, como los componentes visuales para creación de formularios de páginas Web.»
Programación en C#. Piensa en C# de Andrés Serbat Ocaña. Tienda Kindle. «.NET es una plataforma de desarrollo de Microsoft que tiene como foco principal el desarrollo de Servicios WEB XML.
Un servicio Web XML, o simplemente Web Service, trasciende a lo que nosotros conocemos como páginas web dinámicas, a las cuales pueden ser acceder mediante un navegador web.
La idea principal de un Web Service consiste en permitir que las aplicaciones, sean Web o de escritorio, se comuniquen e intercambien datos de forma simple y transparente, independientemente del sistema operativo o del lenguaje de programación.
Con este libro usted aprenderá a programar en el lenguaje C#, que es un lenguaje muy flexible, multiplataforma y bastante sencillo.
Con el podrá desarrollar aplicaciones robustas en varios formatos, webservice, aplicaciones de escritorio, telefonía móvil de Windows Phone, etc… Espero que después de leer este libro, usted pueda crear aplicaciones que le lleven al éxito profesional.»
Aprendiendo MVC en forma práctica: Ejemplos y Ejercicios en C# de Anibal J Marcano. «Un libro para aprender Microsoft MVC en forma práctica utilizando el lenguaje C#. A lo largo del libro aprenderás los conceptos y teoría y lo aplicarás en ejercicios y casos de estudio.
No requiere conocimientos previos de MVC ya que los ejercicios son paso a paso y siempre se incluye el análisis del código para mejor comprensión. Los ejercicios se ejecutan con C#, sql server y Visual Estudio .Net. Es un libro escrito por un desarrollador para desarrolladores.»
Aprende a Programar en C# de Angel Arias. «.NET es una plataforma de desarrollo de Microsoft que tiene como foco principal el desarrollo de Servicios WEB XML.
Un servicio Web XML, o simplemente Web Service, trasciende a lo que nosotros conocemos como páginas web dinámicas, a las cuales pueden ser acceder mediante un navegador web.
La idea principal de un Web Service consiste en permitir que las aplicaciones, sean Web o de escritorio, se comuniquen e intercambien datos de forma simple y transparente, independientemente del sistema operativo o del lenguaje de programación.»
Fundamentos de Programación con C# de Andrés Serbat Ocaña. Tienda Kindle. «El mundo de la programación se encuentra en momento apasionante en la actualidad.
La llegada de los nuevos dispositivos móviles, tales como los smatphones, iphones, tablets, smartTvs,, etc… están creando una demanda sin precedentes de aplicaciones de software.
Como futuro programador deberá de plantearse en que tipo de tecnologías querrá enfocar su actividad antes de ponerse en serio a estudiar a fondo un lenguaje de programación, como base estaría bien que comenzar leyendo este libro de programación en C# y un libro de fundamentos sobre las bases de datos o de MySQL, para coger una buena base en programación.
En este libro hemos escogido el lenguaje de programación C# por ser un lenguaje muy versátil, flexible y que sirve para programar múltiples dispositivos.»
Aprendiendo a programar paso a paso con C de Vicente Muñoz Javier Eslava. «La presente obra pretende dar respuesta a las inquietudes actuales en la materia de programación.
El objetivo es sentar las bases para un desarrollo personal y profesional en el tema. El proceso es explicado paso a paso y contiene muchos ejemplos detallados.
Dirigido a estudiantes de todas las edades, desde secundaria hasta grados universitarios, pasando por ciclos formativos específicos y a todas aquellas personas que tengan una inquietud en por dominar las nuevas tecnologías.»
Aprende a Programar ASP .NET y C#: 2ª Edición de Ángel Arias. «Aunque se pueda desarrollar aplicaciones ASP.NET utilizando solamente un editor de texto y el compilador .NET, el entorno de desarrollo más común de las aplicaciones ASP.NET es el Visual Studio .NET ya que posee algunas características que facilitan el trabajo del desarrollador, como los componentes visuales para creación de formularios de páginas Web.
Una aplicación para web desarrollada en ASP.NET puede reutilizar el código de cualquier otro proyecto escrito para la plataforma .NET, aunque tenga un lenguaje diferente. Una página ASP.NET escrita en VB.NET puede llamar a componentes escritos en C# o Web Services escritos en C++, por ejemplo.
Al contrario de la tecnología ASP, las aplicaciones ASP.NET son compiladas antes de la ejecución, trayendo sensibilidad y ganando en rendimiento. Las aplicaciones Web ASP.NET necesitan el .NET Framework y el servidor IIS para ejecutar, por lo menos en la plataforma Windows.
Existe también el proyecto mod_aspdotnet, que es un módulo que permite trabajar al servidor Apache HTTP Server en conjunto con el Framework .NET y a ejecutar aplicaciones ASP.NET en la plataforma Windows.
El proyecto Mono es un esfuerzo para permitir que las aplicaciones ASP.NET puedan ejecutarse en otras plataformas, como el Linux.
La plataforma .NET se basa en uno de los principios utilizados en la tecnología Java (Just In Time Compiler – JIT), los programas desarrollados para esta son doble-compilados (compilados dos veces), una vez en la distribución (generando un código que es conocido como «bytecodes») y otra en ejecución.
Los programas pueden ser escritos en cualquiera de los más de treinta y tres lenguajes de programación disponibles para la plataforma, el código fuente generado por el desarrollador es compilado por el lenguaje escogido generando un código intermediario en un lenguaje llamado MSIL (Microsoft Intermediate Language).»
Introducción a ASP.NET y C#: 2ª Edición de Aarón Rojo Bedford. Tienda Kindle.
«ASP.NET es un entorno de programación para desarrollar sitio y aplicaciones web dinámicas con el menor código posible. ASP.NET forma parte de Framework de Microsoft .NET, el cual contiene las librerías necesarias para poder desarrollar las diferentes soluciones web que un desarrollador necesite crear.
El .NET Framework soporta varios lenguajes de programación, como C++ o Visual Basic, entre otros, pero en este libro esta orientado solamente al lenguaje de programación C#.
Este libro es un introducción a la programación de ASP.NET con C#, donde podrá ver las diferentes partes que componen el lenguaje de programación C# y para que pueda empezar a crear sus primeros desarrollos.»
Muchas gracias por leernos. Puedes ampliar más información sobre programación en los enlaces relacionados …