Serie de tutoriales de C# con mono, actualmente hay 6 temas pero el autor dice que publicará más. Los temas están en formato pdf para más comodidad y portabilidad ; )
Están del 10 con muchos ejemplos.
http://www.linuxhispano.net/2012/09/17/curso-tutoriales-en-pdf-de-c-mono/Puntos tratados en los 6 temas:
Tema 1 – Introducción a tecnología NET con Mono y fundamentos de C#¿Qué es C# y NET?
¿Qué es Mono?
Instalación del entorno Mono y el IDE MonoDevelop
Primera toma de contacto con el entorno de desarrollo MonoDevelop
Compilar y ejecutar
Espacios de nombres NAMESPACE
Controlar el ámbito con namespace
Comentarios
Documentación estructurada y generación en XML
Trabajar con variables
Tipos de datos fundamentales
Constantes
Conversiones de tipo de datos
La Clase Convert
Operadores
Control de flujo de ejecución
Condicionales
Operadores lógicos
Sentencia switch
Bucles
Las sentencias break y continue
Actividades
Tema 2 – Clases y objetos¿Qué es una clase?
Cómo declarar una clase
Modificadores de acceso
Instanciación
Constantes de una clase
Variables estáticas
Los métodos
Métodos estáticos
Retornar valores
Uso de parámetros
Paso por valor
Paso por referencia
Parámetros de salida
El método constructor
Constructor de copia
Destrucción de objetos
Estructuras
Zona de Datos
Stack
Heap
Como interactúan el Heap y el Stack
Relación con el GC Garbage Collector
Actividades
Tema 3 – Encapsulamiento, herencia y polimorfismoHerencia
Redefinir métodos en clases heredadas
Uso de modificadores de acceso en herencia
Declaración de propiedades (get y set)
Invocar constructores en herencia
Invocar destructores en herencia
Composición
Composición frente a herencia
Polimorfismo
Sobrecarga de métodos
Sobrecarga de operadores
Métodos virtuales
Interfaces
Clases abstractas
Diferencia entre clase abstracta e interface.
Actividades
Tema 4 – Colecciones y Enumeraciones Arrays
Inicializando elementos de arrays
Array que contiene diferentes tipos de de datos
Recorriendo arrays
Métodos y propiedades de la clase Array
Arrays como parámetros de métodos
Valores predeterminados en un array
El modificador params
Arrays multidimensionales
Arrays de arrays
Indexadores también llamados indizadores
Indexadores para acceder a arrays de dos dimensiones
Interfaces para colecciones
IEnumerable y Ienumerator
ICollection
IComparable
IList
Clases para colecciones
Clase genérica Collection
La clase ArrayList
Diccionarios
La clase Hashtable
Las Colecciones Stack & Queue
Colecciones Genéricas
Enumeraciones
La clase System.Enum
Actividades
Tema 5 – Delegados y eventosDelegados
Declaración de delegados
Delegados compuestos
Métodos anónimos
Encapsular varios métodos en un objeto delegado
Covarianza y contravarianza en los delegados
Eventos
Definir eventos
Asociar eventos con un método
Desasociar eventos
Detectar cuándo se añade o se elimina un delegado de un evento
El delegado EventHandler
Eventos y herencia
Eventos en interfaces
El delegado genérico EventHandler
Parámetros por referencia en eventos
Usando clases como parámetro de eventos
Actividades
Tema 6 – Manejo de excepciones Tratamiento de errores
Controlar las excepciones
Bloque finally
Clases de excepciones
La clase System.Exception
Excepciones predefinidas comunes
Lanzamiento de excepciones. Instrucción throw
Overthrowing: número excesivo de excepciones.
Overcatching: recoger más tipos de excepción que lo que interesa.
Log de errores
Control de errores en aplicación con interfaz
Crear excepciones definidas por el usuario
Actividades
Los siguientes temas tratarán de GTK#, Ficheros, Acceso a datos y linq, etc..