Download - Introducción A C# (VersióN Charla)
![Page 1: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/1.jpg)
Introducción a C#Introducción a C#
José Antonio Jiménez CarmonaJosé Antonio Jiménez Carmona
Club .NET – Universidad de Sevilla
![Page 2: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/2.jpg)
ÍNDICEÍNDICE
¿Qué es .NET?¿Qué es .NET?¿Qué es C#?¿Qué es C#?Características de C#Características de C#Estructura de un programa en C#Estructura de un programa en C#VariablesVariablesArraysArraysConstantesConstantesOperadoresOperadoresSentenciasSentenciasHerencia de clasesHerencia de clasesHerencia de interfacesHerencia de interfacesDelegados y eventosDelegados y eventosExcepcionesExcepciones
![Page 3: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/3.jpg)
¿Qué es .NET?¿Qué es .NET?
Tecnología software de MicrosoftTecnología software de Microsoft
Se trata básicamente del Se trata básicamente del Framework .NETFramework .NET (máquina virtual + (máquina virtual + librerías)librerías)
Aplicaciones productivas y Aplicaciones productivas y multiplataforma multiplataforma
![Page 4: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/4.jpg)
¿Qué es C#?¿Qué es C#?
Lenguaje de propósito general, Lenguaje de propósito general, creado por Microsoftcreado por Microsoft
Lenguaje evolucionado de C++ y Lenguaje evolucionado de C++ y JavaJava
Ideal para .NETIdeal para .NET
![Page 5: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/5.jpg)
Características de C#Características de C#
Lenguaje de alto nivel y sencilloLenguaje de alto nivel y sencillo
Orientado a objetosOrientado a objetos
Lenguaje modernoLenguaje moderno
Sintaxis casi igual a la de JavaSintaxis casi igual a la de Java““Si sabes Java, sabes C#”Si sabes Java, sabes C#”
![Page 6: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/6.jpg)
Estructura de un programa en C#Estructura de un programa en C#
Función principalFunción principal
Librerías usadasLibrerías usadas
using System;using System;using System.Collections.Generic;using System.Collections.Generic;using System.Text;using System.Text;
namespace namespace MiMiPProgramarograma{{ public public class Programclass Program {{ public public static void Main(string[] args)static void Main(string[] args) {{
}} }}}}
![Page 7: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/7.jpg)
Variables – ClasificaciónVariables – Clasificación
• Tipos primitivosTipos primitivos
• Tipos enumeradosTipos enumerados • EstructurasEstructuras
• ClasesClases
• InterfacesInterfaces
• ArraysArrays • DelegadosDelegados
Tratadas por Tratadas por valorvalor
Tratadas por Tratadas por referenciareferencia
![Page 8: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/8.jpg)
Variables – Tipos primitivosVariables – Tipos primitivos
• • EEntero:ntero: intint numero; numero;numero = 4;numero = 4;
•• Carácter:Carácter: charchar c; c;c = ‘a’;c = ‘a’;
•• Cadena de caracteres:Cadena de caracteres: stringstring ciudad; ciudad;ciudad = “Sevilla”;ciudad = “Sevilla”;
•• Lógico:Lógico: boolbool exito; exito;exito = true;exito = true;
![Page 9: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/9.jpg)
Variables – Tipos enumerados (1)Variables – Tipos enumerados (1)
Tipo de variable cuyos valores Tipo de variable cuyos valores posibles los elegimos nosotrosposibles los elegimos nosotros
Estructura:Estructura:
enumenum <nombre> { valor1, valor2,…, valorN } <nombre> { valor1, valor2,…, valorN }
![Page 10: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/10.jpg)
Variables – Tipos enumerados (2)Variables – Tipos enumerados (2)
Ejemplo:Ejemplo:
enumenum Color { Color { azul, verde, rojo, amarilloazul, verde, rojo, amarillo } }
……
ColorColor c; c;
c = c = ColorColor.rojo;.rojo;
![Page 11: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/11.jpg)
Variables – Clases (1)Variables – Clases (1)
Un Un objetoobjeto es un conjunto de datos y es un conjunto de datos y de métodos que permiten manipular de métodos que permiten manipular dichos datosdichos datos
Una Una claseclase es la definición de las es la definición de las características concretas de un características concretas de un determinado tipo de objetosdeterminado tipo de objetos
![Page 12: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/12.jpg)
Variables – Clases (2)Variables – Clases (2)
Una clase se compone de:Una clase se compone de:
- AtributosAtributos Los datos del objeto Los datos del objeto
- MétodosMétodos La funcionalidad del objeto La funcionalidad del objeto
- ConstructoresConstructores Para valores iniciales Para valores iniciales
![Page 13: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/13.jpg)
Variables - EstructurasVariables - Estructuras
Una Una estructuraestructura es lo mismo que una clase, es lo mismo que una clase, pero con tres diferencias principalmente:pero con tres diferencias principalmente:
- Se trata como variable por valorSe trata como variable por valor
- Es más rápida y ocupa menos memoriaEs más rápida y ocupa menos memoria
- No tiene herenciaNo tiene herencia
![Page 14: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/14.jpg)
Variables – InterfacesVariables – Interfaces
Una Una interfazinterfaz especifica un “contrato” que especifica un “contrato” que una clase debe cumpliruna clase debe cumplir
- Contiene las cabeceras de los métodos y Contiene las cabeceras de los métodos y propiedades que debe tener dicha clasepropiedades que debe tener dicha clase
Una clase puede implementar 1 ó más Una clase puede implementar 1 ó más interfacesinterfaces
![Page 15: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/15.jpg)
Variables - PropiedadesVariables - Propiedades
Una Una propiedadpropiedad es una mezcla entre el es una mezcla entre el concepto de atributo y el concepto de concepto de atributo y el concepto de método.método.
Externamente es accedida como si de un Externamente es accedida como si de un atributo normal se tratase, pero atributo normal se tratase, pero internamente es posible asociar código a internamente es posible asociar código a ejecutar en cada asignación o lectura de su ejecutar en cada asignación o lectura de su valor.valor.
![Page 16: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/16.jpg)
ArraysArrays
Un Un arrayarray es un tipo especial de variable que es un tipo especial de variable que es capaz de almacenar de manera es capaz de almacenar de manera ordenada 1 ó más datos de un determinado ordenada 1 ó más datos de un determinado tipotipo
El valor de un array es una referenciaEl valor de un array es una referencia
Tienen algunos métodos y propiedades Tienen algunos métodos y propiedades útilesútiles
![Page 17: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/17.jpg)
ConstantesConstantes
Una Una constanteconstante es una variable cuyo valor es una variable cuyo valor no puede cambiar durante la ejecución del no puede cambiar durante la ejecución del programaprograma
Hay que darles un valor inicial al Hay que darles un valor inicial al declararlas:declararlas:
constconst <tipoConstante> <nombreConstante> = <valor>; <tipoConstante> <nombreConstante> = <valor>;
![Page 18: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/18.jpg)
Operadores (1)Operadores (1)
• Asignación ( Asignación ( == ) )
• Suma ( Suma ( ++ ) )• Resta ( Resta ( -- ) )• Producto ( Producto ( ** ) )• División ( División ( // ) )• Módulo ( Módulo ( %% ) )
• De asignaciónDe asignación
• AritméticosAritméticos
![Page 19: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/19.jpg)
Operadores (2)Operadores (2)
• Igualdad ( Igualdad ( ==== ) )• Desigualdad ( Desigualdad ( !=!= ) )• Mayor que ( Mayor que ( >> ) )• Menor que ( Menor que ( < < ))• Mayor o igual que ( Mayor o igual que ( >=>= ) )• Menor o igual que ( Menor o igual que ( <=<= ) )
• RelacionalesRelacionales
![Page 20: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/20.jpg)
Operadores (3)Operadores (3)
• AND con Evaluación Perezosa ( AND con Evaluación Perezosa ( &&&& ) )• AND sin Evaluación Perezosa ( AND sin Evaluación Perezosa ( && ) )• OR con Evaluación Perezosa ( OR con Evaluación Perezosa ( |||| ) )• OR sin Evaluación Perezosa ( OR sin Evaluación Perezosa ( | | ))• NOT ( NOT ( !! ) )• XOR ( XOR ( ^̂ ) )
• LógicosLógicos
![Page 21: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/21.jpg)
Sentencias (1)Sentencias (1)
Instrucción IF:Instrucción IF:
Permite ejecutar ciertas instrucciones sólo si se cumple Permite ejecutar ciertas instrucciones sólo si se cumple una determinada condición.una determinada condición.
ifif (<condición>) (<condición>){{
<instrucciones><instrucciones>}}elseelse{{
<instrucciones><instrucciones>}}
![Page 22: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/22.jpg)
Sentencias (2)Sentencias (2)
Instrucción SWITCHInstrucción SWITCH
Permite ejecutar un bloque de instrucciones según el valor Permite ejecutar un bloque de instrucciones según el valor de una cierta expresión.de una cierta expresión.
switch switch (<variable>)(<variable>)
{{
case <valorN>:case <valorN>:
<instrucciones><instrucciones>
}}
![Page 23: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/23.jpg)
Sentencias (3)Sentencias (3)
Instrucción FOR:Instrucción FOR:
Sirve para repetir una serie de instrucciones un Sirve para repetir una serie de instrucciones un
determinado número de veces.determinado número de veces.
forfor (<inicialización>(<inicialización>; ; <condición><condición>; ; <modificación>)<modificación>)
{{
<instrucciones><instrucciones>
}}
![Page 24: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/24.jpg)
Sentencias (4)Sentencias (4)
Instrucción WHILE:Instrucción WHILE:
Sirve repetir una serie de instrucciones mientras se cumpla Sirve repetir una serie de instrucciones mientras se cumpla una condición.una condición.
whilewhile (<condición>) (<condición>)
{{
<instrucciones><instrucciones>
}}
![Page 25: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/25.jpg)
Sentencias (5)Sentencias (5)
Instrucción DO WHILE:Instrucción DO WHILE:
Sirve repetir una serie de instrucciones mientras se cumpla Sirve repetir una serie de instrucciones mientras se cumpla una condición y al menos se ejecutan 1 vez.una condición y al menos se ejecutan 1 vez.
dodo{{
<instrucciones><instrucciones>}}whilewhile (<condición>) (<condición>)
![Page 26: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/26.jpg)
Sentencias (6)Sentencias (6)
Instrucción FOREACHInstrucción FOREACH
Sirve para recorrer arrays, como un iterador.Sirve para recorrer arrays, como un iterador.
foreachforeach ( (<tipoElemento> <elemento> <tipoElemento> <elemento> inin <array><array>))
{{
<instrucciones><instrucciones>
}}
![Page 27: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/27.jpg)
Herencia de clases (1)Herencia de clases (1)
Permite definir nuevas clases a partir de otras ya definidasPermite definir nuevas clases a partir de otras ya definidas
Si una clase A hereda de otra clase B, el compilador Si una clase A hereda de otra clase B, el compilador incluye en A el contenido de Bincluye en A el contenido de B
Una clase no puede heredar de más de 1 claseUna clase no puede heredar de más de 1 clase
<modificador> class <nombreClaseHija> : <nombreClasePadre><modificador> class <nombreClaseHija> : <nombreClasePadre>{{
<miembrosHija><miembrosHija>}}
![Page 28: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/28.jpg)
Herencia de clases (2)Herencia de clases (2)
ModificadoresModificadores
- Controlan la visibilidad de los atributos y métodos de una Controlan la visibilidad de los atributos y métodos de una claseclase
- Modificadores más importantes:Modificadores más importantes:
publicpublic:: Visible fuera de la claseVisible fuera de la clase privateprivate : : Visible sólo dentro de la claseVisible sólo dentro de la clase protectedprotected:: Visible dentro de la clase y de sus clases Visible dentro de la clase y de sus clases
hijashijas
![Page 29: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/29.jpg)
Herencia de clases (3)Herencia de clases (3)
Redefinición de métodosRedefinición de métodos
- El método a redefinir se precede de El método a redefinir se precede de virtualvirtual
- El nuevo método se precede de El nuevo método se precede de overrideoverride
![Page 30: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/30.jpg)
Herencia de interfacesHerencia de interfaces
Permite definir nuevas interfaces a partir de otras ya Permite definir nuevas interfaces a partir de otras ya definidasdefinidas
Si una interfaz A hereda de otra interfaz B, el compilador Si una interfaz A hereda de otra interfaz B, el compilador incluye en A el contenido de Bincluye en A el contenido de B
Una interfaz puede heredar de 1 ó más interfacesUna interfaz puede heredar de 1 ó más interfaces
<modificador> interface <nombreInterfazHija> : <nombreInterfazPadre><modificador> interface <nombreInterfazHija> : <nombreInterfazPadre>{{
<miembrosHija><miembrosHija>}}
![Page 31: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/31.jpg)
Delegados y eventosDelegados y eventos
Un Un objeto delegadoobjeto delegado almacena referencias almacena referencias a uno o más métodosa uno o más métodos
- Puede realizar la ejecución en cadena de todos Puede realizar la ejecución en cadena de todos ellosellos
Se usan mucho en las interfaces gráficasSe usan mucho en las interfaces gráficas
También se usan para ejecutar funciones También se usan para ejecutar funciones de forma asíncronade forma asíncrona
![Page 32: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/32.jpg)
ExcepcionesExcepciones
Una Una excepciónexcepción es un objeto que es un objeto que representa un errorrepresenta un error
Surgen al haber un error, pero podemos Surgen al haber un error, pero podemos provocarlas nosotros mismosprovocarlas nosotros mismos
Podemos crear nuestras propias Podemos crear nuestras propias excepcionesexcepciones
![Page 33: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/33.jpg)
Enlaces de interésEnlaces de interés
Club .NET Sevilla:Club .NET Sevilla:
http://sevilla.dotnetclubs.comhttp://sevilla.dotnetclubs.com
Recursos del club:Recursos del club:
http://recursos.dotnetclubs.com/sevillahttp://recursos.dotnetclubs.com/sevilla
Programación con .NET:Programación con .NET:
http://www.codeproject.comhttp://www.codeproject.com
![Page 34: Introducción A C# (VersióN Charla)](https://reader035.vdocuments.net/reader035/viewer/2022062220/557aca84d8b42a0b188b49ca/html5/thumbnails/34.jpg)
(GRACIAS)(GRACIAS)