clase 2 curso microsoft.netcurso microsoft.net i.s.f.t. n° 182i.s.f.t. n° 182
TRANSCRIPT
![Page 1: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/1.jpg)
Clase 2Clase 2•Curso Microsoft .NETCurso Microsoft .NET
•I.S.F.T. N° 182I.S.F.T. N° 182
![Page 2: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/2.jpg)
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
![Page 3: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/3.jpg)
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
![Page 4: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/4.jpg)
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
![Page 5: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/5.jpg)
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
![Page 6: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/6.jpg)
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
![Page 7: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/7.jpg)
Visual Studio .NET IDEVisual Studio .NET IDEV
isu
al S
tud
io ID
EV
isu
al S
tud
io ID
E
![Page 8: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/8.jpg)
Plantilla de ProyectosPlantilla de ProyectosV
isu
al S
tud
io ID
EV
isu
al S
tud
io ID
E
![Page 9: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/9.jpg)
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
![Page 10: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/10.jpg)
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
![Page 11: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/11.jpg)
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
![Page 12: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/12.jpg)
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
![Page 13: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/13.jpg)
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
![Page 14: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/14.jpg)
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
![Page 15: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/15.jpg)
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);
![Page 16: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/16.jpg)
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
![Page 17: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/17.jpg)
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
![Page 18: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/18.jpg)
Propiedades (Properties)Propiedades (Properties)
Nos permiten utilizar el Nos permiten utilizar el encapsulamiento.encapsulamiento.
Compuestas por Get y Set.Compuestas por Get y Set.
![Page 19: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/19.jpg)
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
![Page 20: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/20.jpg)
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
![Page 21: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/21.jpg)
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
![Page 22: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/22.jpg)
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
![Page 23: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/23.jpg)
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
![Page 24: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/24.jpg)
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
![Page 25: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/25.jpg)
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
![Page 26: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/26.jpg)
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
![Page 27: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/27.jpg)
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
![Page 28: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/28.jpg)
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);
![Page 29: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/29.jpg)
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
![Page 30: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/30.jpg)
ArrayList – Ejemplo (C#)System.Collection.ArrayListSystem.Collection.ArrayList
Ba
se C
lass
Lib
rary
Ba
se C
lass
Lib
rary
![Page 31: Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182](https://reader035.vdocuments.co/reader035/viewer/2022062323/5665b4ba1a28abb57c939237/html5/thumbnails/31.jpg)
DemoDemo
Aplicación de consolaAplicación de consola