C# es un lenguaje de
programación que los
programadores usan para
crear software (Escritorio,
móvil, web, videojuegos,
etc…)
Caracteristicas de C#.
Flexible: puede ejecutarse de forma
local o web.
Potente: tiene toda la fortaleza de C++
Facil de usar: Facil manejo de los
errores.
Orientado a Objetos: clases, metodos,
propiedades, etc.
Visual: se puede usar GUI
Seguro: es un lenguaje que fue
desarrollado para ser usado en internet
porlo tanto es extremadamente seguro.
.NET
Visual Studio
Espacios de nombres
Estructura del código en C#
Tipos de Datos: Numéricos
Decimales.
Resumen:
Porque mejor es la
sabiduría que las joyas, y
todas las cosas deseables
no pueden compararse con
ella
Operadores.
Un operador en C# es un símbolo
formado por uno o más caracteres
que permite realizar una
determinada operación entre uno
o más datos y produce un
resultado.
Clasificación según el tipo
de operación que pueden
realizar:
Aritmeticos.
Logicos.
Relacionales.
Estructuras de control
IF condicional
if (bool-expression)
{
// Bloque de codigo. verdadero
}
//despues de la condicion
Switch: seleccion de casos
switch(maritalStatus)
{
case 0:
// . . . do the unmarried stuff . . .
break;
case 1:
// . . . do the married stuff . . .
break;
case 2:
// . . . do the divorced stuff . . .
break;
default:
// Goes here if it fails to pass a case;
// this is probably an error condition.
break;
}
WHILE: hacer mientras la expresion a
evaluar devuelve verdadero.
while(bool-expression)
{
// . . . repeatedly executed as long as the
expression is true.
}
Do While: hacer al menos una o mas
veces mientras la expresion a evaluar
devuelva verdadero.
int year = 1;
do
{
// . . . some calculation . . .
year = year + 1;
} while (year < duration);
For : desde – hasta – incremento.
Ejm:
Int [] myArray;
myArray = new int [5];
…
Foreach(int arrayElement in myArray)
{
//Codigo…
}
Matrices
Array unidimensional
Una tabla unidimensional es un tipo
especial de variable que es capaz
de almacenar en su interior y de
manera ordenada uno o varios
datos de un determinado tipo.
Para declarar variables de este tipo especial se usa
la siguiente sintaxis:
<tipoDatos>[] <nombreTabla>;
Resultado
POO
Programación Orientada a
Objetos
POO
Conceptos de clase y objeto
class <nombreClase>
{
<miembros>
}
POO
Miembros
Campos
<tipoCampo> <nombreCampo>;
POO
A continuación se muestra un ejemplo de
definición de una clase de nombre
Persona que dispone de tres campos:
class Persona{
string Nombre;
int Edad;
string DUI;
}
POO
Métodos
Un método es un conjunto de
instrucciones a las que se les asocia un
nombre de modo que si se desea
ejecutarlas basta referenciarlas a través
de dicho nombre en vez de tener que
escribirlas, los métodos permiten
manipular los datos almacenados en los
objetos.
POO
La sintaxis que se usa en C# para definir
los métodos es la siguiente:
Creación de objetos
new <nombreTipo>(<parametros>)
POO
Constructor
Concepto de herencia
Es un mecanismo que permite definir nuevas
clases a partir de otras ya definidas de modo que si
en la definición de una clase indicamos que ésta
deriva de otra, entonces la primera -a la que se le
suele llamar clase hija- será tratada por el compilador
automáticamente como si su definición incluyese la
definición de la segunda –a la que se le suele llamar
clase padre o clase base.
POO
Sintaxis:
class <nombreHija>:<nombrePadre>{
<miembrosHija>
}
POO
Concepto de Polimorfismo
Es la capacidad de sobrecargar un método
definido en la clase padre con diferentes argumentos
en la clase hija.
…
public override Cumpleaños()
{
Edad++;
Console.WriteLine("Incrementada edad de trabajador");
}
…
Excepciones
Excepcione
s
Las excepciones son el mecanismo
recomendado en la plataforma .NET para
la propagación de errores que se
produzcan durante la ejecución de las
aplicaciones (divisiones por cero, intentos
de lectura de archivos dañados, etc.)
Excepcione
s
La clase System.Exception
Excepcione
s
Captura de excepciones. Instrucción try
try
<instrucciones>
catch (<excepción1>)
<tratamiento1>
catch (<excepción2>)
<tratamiento2>
...
finally
<instruccionesFinally>
Excepcione
Instrucción Catch: s
catch (<tipoExcepción> <nombreVariable>) {
<tratamiento>
}
catch(System.Exception <nombreObjecto>) {
<tratamiento>
}
Llamadas
asíncronas: Hilos
Hilo
s
La forma de llamar a métodos que hasta ahora se
ha explicado realiza la llamada de manera síncrona, lo
que significa que la instrucción siguiente a la llamada
no se ejecuta hasta que no finalice el método
llamado. Sin embargo, a todo método almacenado en
un objeto delegado también es posible llamarse de
manera asíncrona a través de los métodos del mismo,
lo que consiste en que no se espera a que acabe de
ejecutarse para pasar a la instrucción siguiente a su
llamada sino que su ejecución se deja en manos de un
hilo aparte que se irá ejecutándolo en paralelo con el
hilo llamante.
Hilo
s
C# soporta la ejecución paralela de código a
través de múltiples hilos. Un hilo es una ruta
independiente de ejecución, capaz de
ejecutarse simultáneamente con otros hilos.
Un programa C# arranca en un hilo principal
creado automáticamente por el CLR y el
sistema operativo y puede estar compuesto de
múltiples subprocesos mediante la creación de
hilos adicionales
Hilo
s
Iniciar el hilo:
hilo1.Start();
Hilo
s