Zenler Player
Tu curso se está cargando. Aguanta.
Aprende C#: De Cero a Experto
Volver al currículo
0% Completar
0% Completar
Instalando Visual Studio
Obteniendo Licencia de Visual Studio Community
Conociendo Visual Studio
Creando nuestro primer proyecto en Visual Studio
Examinando el archivo Program
Escribiendo nuestro primer Hola Mundo
Comentarios en C#
IMPORTANTE: Accede al Grupo Privado y Exclusivo
¿Qué es una variable? ¿Qué son los tipos de datos?
Conociendo los tipos de datos int, long, float, double y decimal
Enunciados, identificadores y palabras clave
¿Cómo declarar una variable?
Conociendo los tipos de datos bool, char y string
Operadores aritméticos
Concatenando cadenas
La importancia de los operandos
El operador Residuo (%)
Números infinitos y NaN
Precedencia y Asociatividad
Incremento y Decremento de Variables
Variables locales declaradas implícitamente
¿Qué es un método?
Creando métodos en C#
Conociendo la depuración
Parámetros en un método
Regresando resultados de un método
Métodos con cuerpo de expresión
Retornando más de un valor de un método
Ámbito de una variable
Sobrecarga de métodos
Métodos anidados
Parámetros opcionales
Argumentos con nombre
Tips con Visual Studio
Expresiones Booleanas
Variables booleanas
Operador Not
Operadores de igualdad y de desigualdad
Operadores Relacionales
Operadores Lógicos
La Sentencia de control if
Evaluando varios casos con if else
La sentencia de control Switch
Operador de asignacion compuesto
Ciclo While
Ciclo for
Ciclo Do While
¿Qué es una excepción?
El método Parse
Estructura try - catch
El tipo de excepción "Exception"
Chequeo de operaciones aritméticas a través de checked y unchecked
Lanzando excepciones a propósito
Bloque finally
Entendiendo el concepto de clasificación
Pilares de la POO – Encapsulamiento
¿Qué es una clase?
Creando nuestra primer clase
Definiendo métodos para nuestra clase
Creando instancias de una clase
Controlando la accesibilidad a nuestras clases
Constructores de una clase
Sobrecarga de constructores
Deconstruyendo un objeto
Métodos estáticos
Campos compartidos
Campos compartidos constantes
Clases estáticas
Enunciados using estáticos
Clases anónimas
Comprendiendo los tipos valor y tipos referencia
Declarando tipos por valor y por referencia
Valores nulos
El operador null condicional
Usando tipos Nullable
Definiendo parámetros ref
Definiendo parámetros out
La clase System.Object
Boxing y Unboxing
Los operadores is y as
¿Porqué usar enumeraciones?
Declarando una enumeración y resolviendo la problemática
Utilizando enumeraciones como parámetros
Imprimiendo los valores de una enumeración
Convirtiendo una enumeración en nullable
Uso de operadores con enumeraciones
Trabajando con los valores numéricos de una enumeración
Escogiendo el tipo de dato de los valores de una enumeración
¿Qué es una estructura y cómo se declaran?
Diferencias entre una clase y una estructura
¿Cómo se inicializa una estructura?
Copiando valores de una estructura
¿Qué es un arreglo?
Creando instancias de un arreglo
Llenando los valores de un arreglo
Creando arreglos implícitamente
Accediendo a los elementos de un arreglo
Iterando a través de un arreglo
El ciclo foreach
Utilizando arreglos en los métodos
Parámetros en el método Main
Copiando arreglos
11.-_Arreglos_multidimensionales
Declarando un arreglo params
Utilizando params object[]
¿Qué es la herencia?
Utilizando herencia
Reexaminando la clase System.Object
Invocando constructores base
Asignando Clases
Declarando métodos nombrados igual
Declarando métodos virtuales
Sobreescribiendo métodos virtuales
Polimorfismo
Comprendiendo el nivel de protección protected
Creando métodos de extensión
Explicando la problemática
Definiendo interfaces
Implementando interfaces
Implementando múltiples interfaces
Referenciando una clase a través de su interfaz
Trabajando con múltiples interfaces
Implementando explícitamente una interfaz
Restricciones de las interfaces
Clases abstractas
Métodos abstractos
Clases Selladas (sealed)
Métodos Sellados (sealed)
La vida de un objeto
Escribiendo destructores
¿Cuándo ocurre la recolección de basura?
¿Cómo funciona el recolector de basura?
Recomendaciones sobre los destructores
Métodos de eliminación (Disposable Methods)
Eliminación de recursos libre de excepciones
La instrucción using y la interfaz IDisposable
Implementando la interfaz IDisposable
Problemática
¿Qué son y Cómo se definen las Propiedades?
Utilizando propiedades
Propiedades de sólo lectura
Propiedades de solo escritura
Accesibilidad de las Propiedades
Restricciones de las propiedades
Declarando propiedades en una interfaz
Propiedades implementadas automáticamente
Inicializando objetos utilizando propiedades
¿Qué es un indexador?
Trabajando con valores binarios
Desplegando valores binarios
Manipulando valores binarios
Combinando operadores
Resolviendo la problemática utilizando indexadores
Diferencias entre un arreglo y un indexador
Indexadores en interfaces
Explicando la Problemática
¿Cómo funciona una clase genérica?
Redefiniendo la clase Pila y otras características de los genéricos
Diferencia entre generics y clases generalizadas
Generics y Restricciones
Interfaces Invariantes
Interfaces Covariantes
Interfaces Contravariantes
Limitaciones de los arreglos
La clase colección List
La clase colección LinkedList
La clase colección Queue
La clase colección Stack
La clase colección Dictionary
La clase colección SortedList
La clase colección HashSet
Inicializando colecciones
El método Find, predicados y Expresiones Lambda
Ejemplos de expresiones lambda
Problemática
Implementando la interfaz IEnumerable
Implementando la interfaz IEnumerator
Implementando un enumerador utilizando iteradores
Introducción
Problemática
Implementando los Sistemas a través de un delegado
Desacoplando CentralHub de los Sistemas
Ejemplos de delegados tipo predicados en el .NET Framework
Los tipos de delegado Func
y Action
Ejemplos de delegados Action y Func en el .Net Framework
Eventos y su declaración
Expresiones lambda y delegados
Lanzando eventos
¿Qué es LINQ?
Seleccionando un valor
Seleccionando múltiples valores
Filtrando información
Ordenando, agrupando y agregando datos
Uniendo datos
Operadores de Consulta
Otros métodos LINQ útiles
LINQ y la evaluación diferida
Introducción
Reglas de la sobrecarga de operadores
Sobrecargando el operador +
Creando operadores simétricos
Comprendiendo evaluaciones de asignaciones compuestas
Declarando operadores de incremento y decremento
Definiendo pares de operadores
Comprendiendo los operadores de conversión
C#: Diferencia entre double vs float vs decimal
Introducción a C#
Instalando Visual Studio
Avance
Obteniendo Licencia de Visual Studio Community
Avance
Conociendo Visual Studio
Creando nuestro primer proyecto en Visual Studio
Examinando el archivo Program
Escribiendo nuestro primer Hola Mundo
Comentarios en C#
IMPORTANTE: Accede al Grupo Privado y Exclusivo
Trabajando con Variables, Operadores y Expresiones
¿Qué es una variable? ¿Qué son los tipos de datos?
Conociendo los tipos de datos int, long, float, double y decimal
Enunciados, identificadores y palabras clave
¿Cómo declarar una variable?
Conociendo los tipos de datos bool, char y string
Operadores aritméticos
Concatenando cadenas
La importancia de los operandos
El operador Residuo (%)
Números infinitos y NaN
Precedencia y Asociatividad
Incremento y Decremento de Variables
Variables locales declaradas implícitamente
Métodos en C#
¿Qué es un método?
Creando métodos en C#
Conociendo la depuración
Parámetros en un método
Regresando resultados de un método
Métodos con cuerpo de expresión
Retornando más de un valor de un método
Ámbito de una variable
Sobrecarga de métodos
Métodos anidados
Parámetros opcionales
Argumentos con nombre
Tips con Visual Studio
El enunciado de decisión if
Expresiones Booleanas
Variables booleanas
Operador Not
Operadores de igualdad y de desigualdad
Operadores Relacionales
Operadores Lógicos
La Sentencia de control if
Evaluando varios casos con if else
La sentencia de control Switch
Ciclos
Operador de asignacion compuesto
Ciclo While
Ciclo for
Ciclo Do While
Manejando errores a través de Excepciones
¿Qué es una excepción?
El método Parse
Estructura try - catch
El tipo de excepción "Exception"
Chequeo de operaciones aritméticas a través de checked y unchecked
Lanzando excepciones a propósito
Bloque finally
Clases y Objetos
Entendiendo el concepto de clasificación
Pilares de la POO – Encapsulamiento
¿Qué es una clase?
Creando nuestra primer clase
Definiendo métodos para nuestra clase
Creando instancias de una clase
Controlando la accesibilidad a nuestras clases
Constructores de una clase
Sobrecarga de constructores
Deconstruyendo un objeto
Métodos estáticos
Campos compartidos
Campos compartidos constantes
Clases estáticas
Enunciados using estáticos
Clases anónimas
Tipos valor y tipos referencia
Comprendiendo los tipos valor y tipos referencia
Declarando tipos por valor y por referencia
Valores nulos
El operador null condicional
Usando tipos Nullable
Definiendo parámetros ref
Definiendo parámetros out
La clase System.Object
Boxing y Unboxing
Los operadores is y as
Creando tipos valor a través de enumeraciones
¿Porqué usar enumeraciones?
Declarando una enumeración y resolviendo la problemática
Utilizando enumeraciones como parámetros
Imprimiendo los valores de una enumeración
Convirtiendo una enumeración en nullable
Uso de operadores con enumeraciones
Trabajando con los valores numéricos de una enumeración
Escogiendo el tipo de dato de los valores de una enumeración
Creando tipos por valor a través de Estructuras
¿Qué es una estructura y cómo se declaran?
Diferencias entre una clase y una estructura
¿Cómo se inicializa una estructura?
Copiando valores de una estructura
Arreglos
¿Qué es un arreglo?
Creando instancias de un arreglo
Llenando los valores de un arreglo
Creando arreglos implícitamente
Accediendo a los elementos de un arreglo
Iterando a través de un arreglo
El ciclo foreach
Utilizando arreglos en los métodos
Parámetros en el método Main
Copiando arreglos
11.-_Arreglos_multidimensionales
Arreglos params
Declarando un arreglo params
Utilizando params object[]
Herencia
¿Qué es la herencia?
Utilizando herencia
Reexaminando la clase System.Object
Invocando constructores base
Asignando Clases
Declarando métodos nombrados igual
Declarando métodos virtuales
Sobreescribiendo métodos virtuales
Polimorfismo
Comprendiendo el nivel de protección protected
Creando métodos de extensión
Creando interfaces y definiendo clases abstractas
Explicando la problemática
Definiendo interfaces
Implementando interfaces
Implementando múltiples interfaces
Referenciando una clase a través de su interfaz
Trabajando con múltiples interfaces
Implementando explícitamente una interfaz
Restricciones de las interfaces
Clases abstractas
Métodos abstractos
Clases Selladas (sealed)
Métodos Sellados (sealed)
Recolección de Basura y Administración de Recursos
La vida de un objeto
Escribiendo destructores
¿Cuándo ocurre la recolección de basura?
¿Cómo funciona el recolector de basura?
Recomendaciones sobre los destructores
Métodos de eliminación (Disposable Methods)
Eliminación de recursos libre de excepciones
La instrucción using y la interfaz IDisposable
Implementando la interfaz IDisposable
Implementando propiedades para el acceso a campos
Problemática
¿Qué son y Cómo se definen las Propiedades?
Utilizando propiedades
Propiedades de sólo lectura
Propiedades de solo escritura
Accesibilidad de las Propiedades
Restricciones de las propiedades
Declarando propiedades en una interfaz
Propiedades implementadas automáticamente
Inicializando objetos utilizando propiedades
Manejo de datos binarios y uso de Indexadores
¿Qué es un indexador?
Trabajando con valores binarios
Desplegando valores binarios
Manipulando valores binarios
Combinando operadores
Resolviendo la problemática utilizando indexadores
Diferencias entre un arreglo y un indexador
Indexadores en interfaces
Conozcamos los Generics (genéricos)
Explicando la Problemática
¿Cómo funciona una clase genérica?
Redefiniendo la clase Pila y otras características de los genéricos
Diferencia entre generics y clases generalizadas
Generics y Restricciones
Interfaces Invariantes
Interfaces Covariantes
Interfaces Contravariantes
Uso de Colecciones
Limitaciones de los arreglos
La clase colección List<T>
La clase colección LinkedList<T>
La clase colección Queue<T>
La clase colección Stack<T>
La clase colección Dictionary<T>
La clase colección SortedList<T>
La clase colección HashSet<T>
Inicializando colecciones
El método Find, predicados y Expresiones Lambda
Ejemplos de expresiones lambda
Enumerando colecciones
Problemática
Implementando la interfaz IEnumerable
Implementando la interfaz IEnumerator
Implementando un enumerador utilizando iteradores
Desacoplando lógica de aplicaciones a través de Delegados y Eventos
Introducción
Problemática
Implementando los Sistemas a través de un delegado
Desacoplando CentralHub de los Sistemas
Ejemplos de delegados tipo predicados en el .NET Framework
Los tipos de delegado Func<T,...> y Action<T,...>
Ejemplos de delegados Action y Func en el .Net Framework
Eventos y su declaración
Expresiones lambda y delegados
Lanzando eventos
Consultando datos en memoria utilizando LINQ
¿Qué es LINQ?
Seleccionando un valor
Seleccionando múltiples valores
Filtrando información
Ordenando, agrupando y agregando datos
Uniendo datos
Operadores de Consulta
Otros métodos LINQ útiles
LINQ y la evaluación diferida
Sobrecarga de operadores
Introducción
Reglas de la sobrecarga de operadores
Sobrecargando el operador +
Creando operadores simétricos
Comprendiendo evaluaciones de asignaciones compuestas
Declarando operadores de incremento y decremento
Definiendo pares de operadores
Comprendiendo los operadores de conversión
Material Adicional
C#: Diferencia entre double vs float vs decimal
×
This is an unpublished lesson. This lesson will not be shown for students unless you set it as Public.
Volver al tablero
¡No hay contenidos disponibles en esta lección!
No hay lecciones disponibles!
Volver al tablero
Contenido de la lección bloqueado
Inscríbete para desbloquear esta lección.
Inscribirse para desbloquear
Siguiente lección