Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
-
Upload
alejandra-rivero-hidalgo -
Category
Documents
-
view
221 -
download
0
Transcript of Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Clase 2Clase 2•Curso Microsoft .NETCurso Microsoft .NET
•I.S.F.T. N° 182I.S.F.T. N° 182
AgendaAgenda
IDE Visual Studio 2005IDE Visual Studio 2005 Administrando Proyectos y SolucionesAdministrando Proyectos y Soluciones HerramientasHerramientas
Sintaxis C#Sintaxis C# Elección del lenguajeElección del lenguaje Variables y tipos de datosVariables y tipos de datos Estructuras lógicasEstructuras lógicas ColeccionesColecciones
AgendaAgenda
IDE Visual Studio 2005IDE Visual Studio 2005 Administrando Proyectos y Administrando Proyectos y
SolucionesSoluciones HerramientasHerramientas
Sintaxis de C#Sintaxis de C# Elección del lenguajeElección del lenguaje Variables y tipos de datosVariables y tipos de datos Estructuras lógicasEstructuras lógicas ColeccionesColecciones
Visual Studio .NET Visual Studio .NET
VS.NET simplifica el desarrollo de VS.NET simplifica el desarrollo de aplicaciones basadas en .NET aplicaciones basadas en .NET proporcionando un entorno de desarrollo proporcionando un entorno de desarrollo simple y unificadosimple y unificado
CaracterísticasCaracterísticas Un solo IDE (Integrated Development Un solo IDE (Integrated Development
Environment)Environment) Soporte para varios lenguajes .NET (VB.NET, Soporte para varios lenguajes .NET (VB.NET,
C#,...)C#,...) Desarrollo de múltiples tipos de proyectosDesarrollo de múltiples tipos de proyectos Explorador Web integrado (basado en IE)Explorador Web integrado (basado en IE) Interfase personalizableInterfase personalizable Posee varias utilidades adicionales: Acceso a Posee varias utilidades adicionales: Acceso a
datos SQL Server, Depurador, Intellisense, datos SQL Server, Depurador, Intellisense, Emuladores para móviles, etc.Emuladores para móviles, etc.
Vis
ua
l Stu
dio
IDE
Vis
ua
l Stu
dio
IDE
Proyectos en Visual Studio .NETProyectos en Visual Studio .NET Los proyectos son contenedores que se Los proyectos son contenedores que se
ubican en una solución, para facilitar la ubican en una solución, para facilitar la administración, compilación y almacenado de administración, compilación y almacenado de los ítemslos ítems
Plantillas de ProyectosPlantillas de Proyectos Permiten la generación automática de módulos Permiten la generación automática de módulos
que serán administrados fácilmente, de manera tal que serán administrados fácilmente, de manera tal que el desarrollador solo tenga que ocuparse de que el desarrollador solo tenga que ocuparse de la funcionalidad específica.la funcionalidad específica.
Archivos de definición de proyectosArchivos de definición de proyectos Contienen metadata del proyectoContienen metadata del proyecto
Ubicación física de los ítemsUbicación física de los ítems Forma de compilaciónForma de compilación Archivos asociadosArchivos asociados
Vis
ua
l Stu
dio
IDE
Vis
ua
l Stu
dio
IDE
Soluciones en Visual Studio .NETSoluciones en Visual Studio .NET
Archivos o ítems relacionados se Archivos o ítems relacionados se agrupan, a nivel lógico, en un proyectoagrupan, a nivel lógico, en un proyecto
Una solución puede contener varios Una solución puede contener varios proyectos. proyectos. Se pueden abrir, cerrar y guardar todos al Se pueden abrir, cerrar y guardar todos al
mismo tiempo.mismo tiempo.
La relación lógica entre solución y La relación lógica entre solución y proyectos no refleja necesariamente proyectos no refleja necesariamente una relación física.una relación física.
Vis
ua
l Stu
dio
IDE
Vis
ua
l Stu
dio
IDE
Visual Studio .NET IDEVisual Studio .NET IDEV
isu
al S
tud
io ID
EV
isu
al S
tud
io ID
E
Plantilla de ProyectosPlantilla de ProyectosV
isu
al S
tud
io ID
EV
isu
al S
tud
io ID
E
Solution ExplorerSolution Explorer
Muestra los archivos Muestra los archivos de/los proyectos de la de/los proyectos de la soluciónsolución
Permite eliminar y Permite eliminar y mover los archivos del mover los archivos del proyectoproyecto
Permite agregar nuevos Permite agregar nuevos elementos al proyectoelementos al proyecto
Establecer referencias Establecer referencias a asemblies y servicios a asemblies y servicios webweb
Crear carpetasCrear carpetas Etc.Etc.
Muestra los archivos Muestra los archivos de/los proyectos de la de/los proyectos de la soluciónsolución
Permite eliminar y Permite eliminar y mover los archivos del mover los archivos del proyectoproyecto
Permite agregar nuevos Permite agregar nuevos elementos al proyectoelementos al proyecto
Establecer referencias Establecer referencias a asemblies y servicios a asemblies y servicios webweb
Crear carpetasCrear carpetas Etc.Etc.
Vis
ua
l Stu
dio
IDE
Vis
ua
l Stu
dio
IDE
ToolBoxToolBox
Muestra ítems para Muestra ítems para utilizar en los distintos utilizar en los distintos proyectos de Visual proyectos de Visual StudioStudio
Los ítems cambian Los ítems cambian dependiendo del dependiendo del proyectoproyecto Componentes .NETComponentes .NET Componentes COMComponentes COM Objetos HTMLObjetos HTML Fragmentos de CódigoFragmentos de Código
Vis
ua
l Stu
dio
IDE
Vis
ua
l Stu
dio
IDE
Ventana de PropiedadesVentana de Propiedades
Permite acceder y Permite acceder y modificar a las modificar a las propiedades y propiedades y eventos del objeto eventos del objeto seleccionado (Form, seleccionado (Form, control, clase, etc.)control, clase, etc.)
IDE
Vis
ual S
tud
ioID
E V
isua
l Stu
dio
AgendaAgenda
IDE Visual Studio 2005IDE Visual Studio 2005 Administrando Proyectos y SolucionesAdministrando Proyectos y Soluciones HerramientasHerramientas Creación de la primera aplicaciónCreación de la primera aplicación
Sintaxis de C#Sintaxis de C# Elección del lenguajeElección del lenguaje Variables y tipos de datosVariables y tipos de datos Estructuras lógicasEstructuras lógicas ColeccionesColecciones
Visual Basic .NET y C#Visual Basic .NET y C#
HerenciaHerencia SobrecargaSobrecarga ConstructoresConstructores Administración Administración
estructurada de estructurada de excepcionesexcepciones
Comprobación de Comprobación de TiposTipos
Miembros SharedMiembros Shared
HerenciaHerencia SobrecargaSobrecarga ConstructoresConstructores Administración Administración
estructurada de estructurada de excepcionesexcepciones
Comprobación de Comprobación de TiposTipos
Miembros SharedMiembros Shared
Re-escrito desde cero para trabajar bajo .NET. Ahora totalmente OO. Mejoras s/VB6:
VB .NETVB .NET Visual C#Visual C#
Sintaxis similar a C++, Sintaxis similar a C++, JJ
Tipos segurosTipos seguros Case-sensitiveCase-sensitive Atributos accedidos Atributos accedidos
por un puntopor un punto Todo es tratado como Todo es tratado como
objetosobjetos
Sintaxis similar a C++, Sintaxis similar a C++, JJ
Tipos segurosTipos seguros Case-sensitiveCase-sensitive Atributos accedidos Atributos accedidos
por un puntopor un punto Todo es tratado como Todo es tratado como
objetosobjetos
Fue un lenguaje creado especialmente para .NET. Totalmente OO.
Sin
taxi
sS
inta
xis
Elección del lenguajeElección del lenguaje
.NET.NET utiliza UN solo runtime (el utiliza UN solo runtime (el CLRCLR) y TODO ) y TODO
lenguaje para .NET compila a lenguaje para .NET compila a MSILMSIL
Prácticamente no hay diferencias de Prácticamente no hay diferencias de
performance entre VB.NET y C#.performance entre VB.NET y C#.
Cual lenguaje usar, en gral. dependerá de su Cual lenguaje usar, en gral. dependerá de su
experiencia previa con otros lenguajes o experiencia previa con otros lenguajes o
decisión personal.decisión personal.
Si conoce Java, C++, etc. >> C#Si conoce Java, C++, etc. >> C#
Si conoce VB o VBScript >> VB.NETSi conoce VB o VBScript >> VB.NET
Sin
taxi
sS
inta
xis
Variables - DeclaraciónVariables - Declaración El tipo de variable precede al identificadorEl tipo de variable precede al identificador El tipo de variable precede al identificadorEl tipo de variable precede al identificador
int x;decimal y;rectangle z;Cliente cli;
Sin
taxi
sS
inta
xis
Variables - InicializaciónVariables - Inicialización Toda variable debe ser inicializada Toda variable debe ser inicializada
EXPLICITAMENTE antes de ser usadaEXPLICITAMENTE antes de ser usada
int tempBalance; //variable local//ERROR: tempBalance NO ha sido inicializadaSystem.Console.WriteLine(tempBalance);
Variables - NomenclaturasVariables - Nomenclaturas ¿Cómo declarar una variable?¿Cómo declarar una variable? Nomenclaturas y convencionesNomenclaturas y convenciones
Notación Camel CaseNotación Camel Case
Sin
taxi
sS
inta
xis
Variables – AlcanceVariables – Alcance Tiempo de vida de una variableTiempo de vida de una variable
string fuera = “Declarada fuera”string temp = “”If ( mostrarValores ){
string dentro = “Mostrada Dentro”temp = dentro
}else{
temp = fuera}
Sin
taxi
sS
inta
xis
Propiedades (Properties)Propiedades (Properties)
Nos permiten utilizar el Nos permiten utilizar el encapsulamiento.encapsulamiento.
Compuestas por Get y Set.Compuestas por Get y Set.
Case SensitiveCase Sensitive
C# es case-sensitivityC# es case-sensitivity
system.console.writeline(“HOLA”); INCORRECTO
System.Console.WriteLine(“HOLA”); CORRECTO
Sin
taxi
sS
inta
xis
Terminaciones de líneaTerminaciones de línea
C# la línea finaliza con un ;C# la línea finaliza con un ;
//Una linea con mas de un renglonstring sName = sFirstName + sLastName; //El punto y coma indica FINAL de linea
Sin
taxi
sS
inta
xis
ComentariosComentarios
C# soporta dos tipos de comentariosC# soporta dos tipos de comentarios
// Comentario de una sola lineastring sName = “Juan”; /* Comentario con mas de un renglon */
Sin
taxi
sS
inta
xis
Operadores LogicosOperadores LogicosC#C# VB.NETVB.NET OperadorOperador
&&&& AndAnd Operador logico YOperador logico Y
llll OrOr Operador logico OOperador logico O
!! NotNot Negacion logicaNegacion logica
==== == IgualIgual
!=!= <><> DistintoDistinto
En En C#C# todas las evaluaciones se hacen por todas las evaluaciones se hacen por ““cortocircuitocortocircuito””
En En C#C# todas las evaluaciones se hacen por todas las evaluaciones se hacen por ““cortocircuitocortocircuito””
//Si Hacer1() es True, entonces //Si Hacer1() es False, entonces//NO se evalua Hacer2() //NO se evalua Hacer2()if (Hacer1() || Hacer2()) if (Hacer1() && Hacer2()){ {} }
Sin
taxi
sS
inta
xis
If Else – Ejemplo IIf Else – Ejemplo I
if (x > 10) if (x < 10) if (x < 10) if (x < 10) HacerAlgo(); { { { Hacer1(); Hacer1(); Hacer1(); Hacer2(); } } } else else if (x > 20) { { Hacer2(); Hacer2(); } } else { Hacer3(); }
C#: sentencia if con varios formatosC#: sentencia if con varios formatos
Sin
taxi
sS
inta
xis
switch – C#switch – C#
string Pais = valor;string Deporte = “”; switch (Pais)
case “Brasil”: Deporte = “Futbol”;break;case “USA”: Deporte = “Basquet”;default: Deporte = “Tenis”break;
int opcion = valor;string Deporte = “”; switch (opcion)
case 1: Deporte = “Futbol”;break;case 2: Deporte = “Basquet”;default: Deporte = “Tenis”break;
Sin
taxi
sS
inta
xis
ArreglosArreglos C# utiliza corchetes [ ] para definición C# utiliza corchetes [ ] para definición
de arraysde arraysstring[] telefonos; //Definicion de un Arreglo de stringstelefonos = new string[3]; //De 3 elementostelefonos[0] = “1245”; //Seteo del 1er elemento del arreglo
//Definicion y asignacion de una veztelefonos = new string[] {“1”,“2”,“3”};
Sin
taxi
sS
inta
xis
For – C#For – C#
for (contador; expresion; incremento)for (contador; expresion; incremento)
{{
statements statements
}}
for (int item = 1; i<=10; i++) Console.WriteLine(i);
for (int item = 1; i<=10; i++){
Console.WriteLine(i);}
Sin
taxi
sS
inta
xis
foreach – C#foreach – C#
foreach (elemento in grupo){foreach (elemento in grupo){
statements }statements }
int multDos = 0;int noMult = 0;int[] arrayData = {1, 5, 8, 45, 25};foreach (int numero In arrayData){
if (numero MOD 2 == 0) multDos += 1;
else noMult +=1;
}
Sin
taxi
sS
inta
xis
Estructuras de Iteración – While Estructuras de Iteración – While
C#: usa las palabras while o do - whileC#: usa las palabras while o do - whilebool condicion = true;while (condicion){ //codigo que haga que cambie la condicion}
Sin
taxi
sS
inta
xis
bool condicion = true;do{ //codigo que haga que cambie la condicion}while (condicion);
Colecciones: Objetos que, internamente, gestionan arrays, pero que
estan preparados para gestionarlos de forma opimizada
Espacio de Nombres de System.Collection ArrayList: Array cuyo número de elementos puede
modificarse dinámicamente
HashTable: El acceso a los valores del array se realiza a traves de una clave asociada a cada elemento
SortedList: Variación de un HashTable en la que los elementos se ordenan por la clave según van siendo agregados, funcionamiento similar al HashTable
Queue: Útiles para almacenar mensajes en el orden en el que fueron recibidos
Stack: Representa una colección de objetos simple de la clase último en entrar, primero en salir
Colecciones de ObjetosColecciones de ObjetosB
ase
Cla
ss L
ibra
ryB
ase
Cla
ss L
ibra
ry
ArrayList – Ejemplo (C#)System.Collection.ArrayListSystem.Collection.ArrayList
Ba
se C
lass
Lib
rary
Ba
se C
lass
Lib
rary
DemoDemo
Aplicación de consolaAplicación de consola