SlideShare una empresa de Scribd logo
Programando en C#
           Angel “Java” Lopez
      http://www.ajlopez.com/
Agenda
 .NET Framework
 El lenguaje C#
 Visual Studio .NET
 Aplicaciones de Ventanas
 Aplicaciones ASP.NET
 Acceso a Datos
El .NET Framework
Framework y Herramientas

 VB     C++      C#    JScript   J#
                                                          Herramientas:
  Common Language Specification
                                                          ILDASM




                                      Visual Studio.NET
       ASP.NET             Windows                        DUMPBIN
Web Forms Web Services                                    PE File
                            Forms                         Format Viewer
 Mobile Internet Toolkit                                  GAC.EXE
                                                          Assembly
          ADO.NET and XML                                 Registration
                                                          Utility
                                                          ILASM
          Base Class Library                              MSIL
                                                          Assembler
                                                          XSD.EXE
      Common Language Runtime                             Schema
                                                          Definition
                                                          Tool

          Sistema Operativo
Common Language Runtime

Simplifica drásticamente el desarrollo de
aplicaciones
Provee un entorno de ejecución robusto
y seguro
Soporta múltiples lenguajes de
programación
Simplifica la instalación y administración
de las aplicaciones
Simplificar el Desarrollo
  Elimina completamente la “plomería”
     No más registración, GUIDs, archivos .IDL,
      HRESULTs, IUnknown, AddRef/Release,
      CoCreateInstance, etc.
  Orientación a Objetos nativa
     Soporte total de Clases y herencia
     Aún a través de distintos lenguajes!
  Total Interoperabilidad
     Cualquier clase .NET puede ser usada como una
      clase COM sin trabajo adicional
     Las clases COM pueden importarse como clases
      .NET
Common Language Runtime
         Base Class Library Support

  Thread Support         COM Marshaler

   Type Checker         Exception Manager

  Security Engine           Debug Engine

 IL to Native      Code          Garbage
  Compilers       Manager        Collector

                Class Loader
Common Language
Specification
 Carácterísticas comunes a todos los
 lenguajes
 Sólo se aplica a los tipos visibles
 Tipos comunes
 Tipos primitivos
 Nombres de métodos, propiedades
 Soporte de Clases, Interfaces
 Palabras Reservadas
Common Type System
 Tipos simples
     Int16
     Int32
     UInt32
     String
 Tipos complejos
     GUID
     RegEx
     DateTime
     TimeSpan
 Todo es un objeto
     Los tipos primitivos tienen clases correspondientes en el .NET
      Framework
     Int es un alias de System.Int32 (que deriva de System.ValueType)
Tipos Valor Primitivos
 Son soportados directamente por el CLR y
 son parte del CTS
 Enteros
    int8, int16, int32, int64, sin signo...
 Decimales
    decimal (28 digitos)
 Reales
    float32, float64
 Caracteres UNICODE
    char
 Booleanos
    bool
Tipos Básicos de Referencia
  Object
     El padre de todos los tipos Referencia
  String
     Los String son objetos
     La clase es final
     Son inmutables
El lenguaje C#
Hola Mundo
using System;
class Hola {
  static void Main() {
    Console.WriteLine(“Hola Mundo");
  }
}
Otras Opciones
public static void Main() {
  ...
}
public static int Main() {
  ...
  return 0;
}
public static int Main(string[] args) {
  ...
  return 0;
}
Compilador de Línea de
Comando
  Crear código fuente: Hola.cs.
  Invocar compilador: csc Hola.cs
  Si está bien, se crea Hola.exe.
  Ejecutar: Hola
Estructura de un programa C#
  Namespaces
     Tipos, espacios de nombres
  Declaración de tipos
     Clases, interfaces, estructuras, enums, delegados
  Miembros
     Campos, métodos, constantes, indexadores,
      propiedades, eventos, operadores, constructores,
      destructores
Namespace
= Paquetes de Tipos
namespace N1 {     // N1
  class C1 {       // N1.C1
    class C2 {}    // N1.C1.C2
  }
  namespace N2 {   // N1.N2
    class C2 {}    // N1.N2.C2
  }
}
Creando DLLs
 using System;
 namespace MyLibreria {
   public class ClaseSuma {
     public static long Suma(long i, long j) {
       return(i+j);
     }
   }
 }

 using System;
 namespace MiLibreria {
   public class ClaseMultiplica {
     public static long Multiplica(long i, long j) {
       return(i*j);
     }
   }
 }
Usando DLLs
using System;
using MiLibreria;


class MiCliente {
  public static void Main() {
    long suma = ClaseSuma.Suma(10, 10);
    Console.WriteLine(suma);
    long producto =
      ClaseMultiplica.Multiplicar(10, 10);
    Console.WriteLine(producto);
  }
}
Tipos Valor (Value Types)
  primitivos
     int i;
  enums
     enum State { Off, On }
  structs
     struct Point { int x, y; }
Enums
enum Suit {
  Clubs = 0;
  Diamonds = 1;
  Hearts = 2;
  Spades = 3;
}


…
Suit s = Suit.Clubs;
Console.WriteLine (s);
…
Excepciones
try {
  throw new Exception(“Oops!”);
} catch (Exception e) {
    … Maneja Excepción ……;
} finally {
    … Código de limpieza, se ejecuta siempre…;
}
Interfaces y Clases
interface IFigure {
  int Area ();
}

class Square : IFigure {
  private int side;

    public Square (int side) {
      this.side = side;
    }

    public int Area () {
      return (side*side);
    }
}
Constructores
class B : A {
  public B (int x) : base (…,…,…) {
    …………
  }
    public B (bool b) : this (…,…,…) {
      …………
    }
    public B (char c) {
      …………
    }
}
Interfaces
                   interface IA {
                     void g ();
                   }


   interface IB : IA {              interface IC : IA {
     void f ();                       void f ();
   }                                }

   class X : IB, IC {

       void IA.g   () { Console.WriteLine ("IA.g"); }

       void IC.f   () { Console.WriteLine ("IC.f"); }

       void IB.f   () { Console.WriteLine ("IB.f"); }
   }
Interfaces
class Test {
  public static void Main () {
    X x = new X ();
    ((IA)x).g();
    ((IC)x).f();
    ((IB)x).f();
  }
}
Métodos Virtuales
public class Dog {
  public virtual void RollOver () {
    Console.WriteLine("Scratch my tummy.");
    Bark();
  }

    public virtual void Bark () {
      Console.WriteLine("WOOF WOOF (Dog)");
    }
}
Propiedades e Indexadores
class Party {
  private int start;
  public int Start {
    get {
      return start;
    }
    set {
      start = value;
    }
  }
}
Propiedades e Indexadores
class Demo {
  public static Main () {
    Borrel b = new Party ();
    b.Start = 3;
    int x = b.Start;
  }
}
Propiedades e Indexadores
class Party {
  private Dictionary participants;
  public Borrel() {
    participants = new Dictionary();
  }
  public bool this[String name] {
    get {
      return (participants.Contains(name)
              && (bool)participants[name]);
    }
    set {
      participants.Add(name,value);
    }
  }
}
Visual Studio.Net
Nueva Interfaz de Desarrollo
  IDE derivada de VB6
  Start Page
  Solution Explorer
  Varios proyectos en una solución
  Uno puede ser el principal
Ventanas
 Class View
 Properties Window
 Toolbox
 Server Explorer
 Web Form Designer
 Code Window
Ventanas
 Help dinámico
 Object Browser
 Compilando: Output Window
 Depurando: Command, Locals, Autos,
 Breakpoints Windows
 Disassembly, Memory Windows
Windows Forms
WinForms
using System;
using System.Window.Forms;
using System.Drawing;

public class MyForm : Form {
  public MyForm() {
    this.Text = “Hello World”; }
}

public class Demo {
  public static void Main() {
    Application.Run(new MyForm());
  }
}
Desarrollo Visual
  Nuevo System.Windows
  Los formularios son clases
  Los controles son clases
  Posicionamiento de los controles
  Propiedades
  Ciclo de vida de controles y formularios
Aplicación Windows
  Proyecto Aplicación Windows
  Formulario
  Diseñador de Formulario
  Código automático
  Controles
  Eventos
Controles y Formularios
  Nuevos controles
  Nuevas propiedades
  MDI
  Herencia de Formularios
  Uso de controles OCX
  Controles propios

Más contenido relacionado

La actualidad más candente

Cap4
Cap4Cap4
Cap4CJAO
 
Compilador divisor de cantidades con Jflex y Cup
Compilador divisor de cantidades con Jflex y CupCompilador divisor de cantidades con Jflex y Cup
Compilador divisor de cantidades con Jflex y Cup
Soraya Lara
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
omar_guerrero
 
Java
JavaJava
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
Sergio Lara Guevara
 
Resumen lenguajes c#
Resumen lenguajes c#Resumen lenguajes c#
Resumen lenguajes c#
Angie Galeano
 
Sintaxis Java
Sintaxis JavaSintaxis Java
Sintaxis Java
Daniel Alvarez
 
Los tipos de un espacio de nombres
Los tipos de un espacio de nombresLos tipos de un espacio de nombres
Los tipos de un espacio de nombres
Marcel Garriga
 
Java
JavaJava
Api java
Api javaApi java
Api java
Fer Leon
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
Margarita Romero
 
presentacion de Aplicaciones de Java
presentacion de Aplicaciones de Javapresentacion de Aplicaciones de Java
presentacion de Aplicaciones de Java
ingyon
 
Programación con java en Eclipse
Programación con java en EclipseProgramación con java en Eclipse
Programación con java en Eclipse
RAULALEXANDERORDONEZ
 
Uso de las clases iostream
Uso de las clases iostreamUso de las clases iostream
Uso de las clases iostream
Tensor
 
Cuestionario java
Cuestionario javaCuestionario java
Cuestionario java
jaky9727
 

La actualidad más candente (19)

Cap4
Cap4Cap4
Cap4
 
Compilador divisor de cantidades con Jflex y Cup
Compilador divisor de cantidades con Jflex y CupCompilador divisor de cantidades con Jflex y Cup
Compilador divisor de cantidades con Jflex y Cup
 
2. Introduccion A C#
2.  Introduccion A C#2.  Introduccion A C#
2. Introduccion A C#
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Java
JavaJava
Java
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
 
Resumen lenguajes c#
Resumen lenguajes c#Resumen lenguajes c#
Resumen lenguajes c#
 
Sintaxis Java
Sintaxis JavaSintaxis Java
Sintaxis Java
 
Los tipos de un espacio de nombres
Los tipos de un espacio de nombresLos tipos de un espacio de nombres
Los tipos de un espacio de nombres
 
Java
JavaJava
Java
 
Java io
Java ioJava io
Java io
 
Api java
Api javaApi java
Api java
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
presentacion de Aplicaciones de Java
presentacion de Aplicaciones de Javapresentacion de Aplicaciones de Java
presentacion de Aplicaciones de Java
 
Programación con java en Eclipse
Programación con java en EclipseProgramación con java en Eclipse
Programación con java en Eclipse
 
Uso de las clases iostream
Uso de las clases iostreamUso de las clases iostream
Uso de las clases iostream
 
Java
JavaJava
Java
 
Cuestionario java
Cuestionario javaCuestionario java
Cuestionario java
 

Destacado

Filius ja elinkaikkeuden arvoitus
Filius ja elinkaikkeuden arvoitusFilius ja elinkaikkeuden arvoitus
Filius ja elinkaikkeuden arvoitus
Leena Valmu
 
Statistics for CEGEP Biology
Statistics for CEGEP BiologyStatistics for CEGEP Biology
Statistics for CEGEP BiologyCorey Chivers
 
Weak Lensing Simulator
Weak Lensing SimulatorWeak Lensing Simulator
Weak Lensing SimulatorCorey Chivers
 
Observing Dark Worlds
Observing Dark WorldsObserving Dark Worlds
Observing Dark Worlds
Corey Chivers
 
The liquidator
The liquidatorThe liquidator
The liquidator
FASimms
 
Narvaez german aporte_invididual
Narvaez german aporte_invididualNarvaez german aporte_invididual
Narvaez german aporte_invididual
German Narvaez
 
Narvaez german educación_ambiental_individual
Narvaez german educación_ambiental_individualNarvaez german educación_ambiental_individual
Narvaez german educación_ambiental_individual
German Narvaez
 
Wiki 1 educación_ambiental_colaborativo
Wiki 1 educación_ambiental_colaborativoWiki 1 educación_ambiental_colaborativo
Wiki 1 educación_ambiental_colaborativo
German Narvaez
 
Narvaez german aporte_individual
Narvaez german aporte_individualNarvaez german aporte_individual
Narvaez german aporte_individual
German Narvaez
 
Pantoja, yina
Pantoja, yinaPantoja, yina
Pantoja, yina
German Narvaez
 
2a circular se rig 2016
2a circular se rig 20162a circular se rig 2016
2a circular se rig 2016
German Narvaez
 
Wiki 9 trabajo_colaborativo
Wiki 9 trabajo_colaborativoWiki 9 trabajo_colaborativo
Wiki 9 trabajo_colaborativo
German Narvaez
 
That's like, so random! Monte Carlo for Data Science
That's like, so random! Monte Carlo for Data ScienceThat's like, so random! Monte Carlo for Data Science
That's like, so random! Monte Carlo for Data Science
Corey Chivers
 
Intro to Machine Learning
Intro to Machine LearningIntro to Machine Learning
Intro to Machine Learning
Corey Chivers
 
Introduction to Bayesian Methods
Introduction to Bayesian MethodsIntroduction to Bayesian Methods
Introduction to Bayesian Methods
Corey Chivers
 

Destacado (17)

Stpm pa1pahang
Stpm pa1pahangStpm pa1pahang
Stpm pa1pahang
 
Filius ja elinkaikkeuden arvoitus
Filius ja elinkaikkeuden arvoitusFilius ja elinkaikkeuden arvoitus
Filius ja elinkaikkeuden arvoitus
 
Statistics for CEGEP Biology
Statistics for CEGEP BiologyStatistics for CEGEP Biology
Statistics for CEGEP Biology
 
Weak Lensing Simulator
Weak Lensing SimulatorWeak Lensing Simulator
Weak Lensing Simulator
 
Stpm pa1pahang
Stpm pa1pahangStpm pa1pahang
Stpm pa1pahang
 
Observing Dark Worlds
Observing Dark WorldsObserving Dark Worlds
Observing Dark Worlds
 
The liquidator
The liquidatorThe liquidator
The liquidator
 
Narvaez german aporte_invididual
Narvaez german aporte_invididualNarvaez german aporte_invididual
Narvaez german aporte_invididual
 
Narvaez german educación_ambiental_individual
Narvaez german educación_ambiental_individualNarvaez german educación_ambiental_individual
Narvaez german educación_ambiental_individual
 
Wiki 1 educación_ambiental_colaborativo
Wiki 1 educación_ambiental_colaborativoWiki 1 educación_ambiental_colaborativo
Wiki 1 educación_ambiental_colaborativo
 
Narvaez german aporte_individual
Narvaez german aporte_individualNarvaez german aporte_individual
Narvaez german aporte_individual
 
Pantoja, yina
Pantoja, yinaPantoja, yina
Pantoja, yina
 
2a circular se rig 2016
2a circular se rig 20162a circular se rig 2016
2a circular se rig 2016
 
Wiki 9 trabajo_colaborativo
Wiki 9 trabajo_colaborativoWiki 9 trabajo_colaborativo
Wiki 9 trabajo_colaborativo
 
That's like, so random! Monte Carlo for Data Science
That's like, so random! Monte Carlo for Data ScienceThat's like, so random! Monte Carlo for Data Science
That's like, so random! Monte Carlo for Data Science
 
Intro to Machine Learning
Intro to Machine LearningIntro to Machine Learning
Intro to Machine Learning
 
Introduction to Bayesian Methods
Introduction to Bayesian MethodsIntroduction to Bayesian Methods
Introduction to Bayesian Methods
 

Similar a Curso c sharp

Lenguajes de Programación: Clases y objetos
Lenguajes de Programación: Clases y objetosLenguajes de Programación: Clases y objetos
Lenguajes de Programación: Clases y objetos
Luis Fernando Aguas Bucheli
 
Introducción a net
Introducción a netIntroducción a net
Introducción a netinfobran
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.netcesarnrv
 
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Antonio Torres
 
Net capitulo I - fundamentos
Net   capitulo I - fundamentosNet   capitulo I - fundamentos
Net capitulo I - fundamentos
redtacna
 
Migracion a Visual Basic .NET
Migracion a Visual Basic .NETMigracion a Visual Basic .NET
Migracion a Visual Basic .NET
V Sanchez
 
Programacion en C#
Programacion en C#Programacion en C#
Programacion en C#
Gorka Vicente
 
curso-de-visual-basic-net.pdf
curso-de-visual-basic-net.pdfcurso-de-visual-basic-net.pdf
curso-de-visual-basic-net.pdf
JuanEnriquez52
 
Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NET
Javier Roig
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
Angeles Quezada
 
Manual visual basic .net
Manual visual basic .net Manual visual basic .net
Manual visual basic .net
YESSICA MARIA PARRA GRAJALES
 
2. introduccion a vs .net
2.  introduccion a vs .net2.  introduccion a vs .net
2. introduccion a vs .netmhormech
 
2. Introduccion A Vs .Net
2.  Introduccion A Vs .Net2.  Introduccion A Vs .Net
2. Introduccion A Vs .NetDiego Armando
 
1. Introduccion a .Net
1. Introduccion a .Net1. Introduccion a .Net
1. Introduccion a .Net
Esteban Soraire
 
Aprendiendo a usar NDK Android Day(castellano)
Aprendiendo a usar NDK Android Day(castellano)Aprendiendo a usar NDK Android Day(castellano)
Aprendiendo a usar NDK Android Day(castellano)
videos
 
Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .netlilymejia1979
 

Similar a Curso c sharp (20)

Lenguajes de Programación: Clases y objetos
Lenguajes de Programación: Clases y objetosLenguajes de Programación: Clases y objetos
Lenguajes de Programación: Clases y objetos
 
1 Plataforma .Net
1 Plataforma .Net1 Plataforma .Net
1 Plataforma .Net
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.net
 
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
 
Introduccion net
Introduccion netIntroduccion net
Introduccion net
 
Net capitulo I - fundamentos
Net   capitulo I - fundamentosNet   capitulo I - fundamentos
Net capitulo I - fundamentos
 
Migracion a Visual Basic .NET
Migracion a Visual Basic .NETMigracion a Visual Basic .NET
Migracion a Visual Basic .NET
 
Programacion en C#
Programacion en C#Programacion en C#
Programacion en C#
 
curso-de-visual-basic-net.pdf
curso-de-visual-basic-net.pdfcurso-de-visual-basic-net.pdf
curso-de-visual-basic-net.pdf
 
Introduccion.net
Introduccion.net Introduccion.net
Introduccion.net
 
Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NET
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Manual visual basic .net
Manual visual basic .net Manual visual basic .net
Manual visual basic .net
 
2. introduccion a vs .net
2.  introduccion a vs .net2.  introduccion a vs .net
2. introduccion a vs .net
 
2. Introduccion A Vs .Net
2.  Introduccion A Vs .Net2.  Introduccion A Vs .Net
2. Introduccion A Vs .Net
 
1. Introduccion a .Net
1. Introduccion a .Net1. Introduccion a .Net
1. Introduccion a .Net
 
Aprendiendo a usar NDK Android Day(castellano)
Aprendiendo a usar NDK Android Day(castellano)Aprendiendo a usar NDK Android Day(castellano)
Aprendiendo a usar NDK Android Day(castellano)
 
Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
 

Último

ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
JAVIER SOLIS NOYOLA
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
eliecerespinosa
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
QuispeJimenezDyuy
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
MasielPMP
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
nievesjiesc03
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
Alejandrino Halire Ccahuana
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 

Último (20)

ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 

Curso c sharp

  • 1. Programando en C# Angel “Java” Lopez http://www.ajlopez.com/
  • 2. Agenda .NET Framework El lenguaje C# Visual Studio .NET Aplicaciones de Ventanas Aplicaciones ASP.NET Acceso a Datos
  • 4. Framework y Herramientas VB C++ C# JScript J# Herramientas: Common Language Specification ILDASM Visual Studio.NET ASP.NET Windows DUMPBIN Web Forms Web Services PE File Forms Format Viewer Mobile Internet Toolkit GAC.EXE Assembly ADO.NET and XML Registration Utility ILASM Base Class Library MSIL Assembler XSD.EXE Common Language Runtime Schema Definition Tool Sistema Operativo
  • 5. Common Language Runtime Simplifica drásticamente el desarrollo de aplicaciones Provee un entorno de ejecución robusto y seguro Soporta múltiples lenguajes de programación Simplifica la instalación y administración de las aplicaciones
  • 6. Simplificar el Desarrollo Elimina completamente la “plomería”  No más registración, GUIDs, archivos .IDL, HRESULTs, IUnknown, AddRef/Release, CoCreateInstance, etc. Orientación a Objetos nativa  Soporte total de Clases y herencia  Aún a través de distintos lenguajes! Total Interoperabilidad  Cualquier clase .NET puede ser usada como una clase COM sin trabajo adicional  Las clases COM pueden importarse como clases .NET
  • 7. Common Language Runtime Base Class Library Support Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine IL to Native Code Garbage Compilers Manager Collector Class Loader
  • 8. Common Language Specification Carácterísticas comunes a todos los lenguajes Sólo se aplica a los tipos visibles Tipos comunes Tipos primitivos Nombres de métodos, propiedades Soporte de Clases, Interfaces Palabras Reservadas
  • 9. Common Type System Tipos simples  Int16  Int32  UInt32  String Tipos complejos  GUID  RegEx  DateTime  TimeSpan Todo es un objeto  Los tipos primitivos tienen clases correspondientes en el .NET Framework  Int es un alias de System.Int32 (que deriva de System.ValueType)
  • 10. Tipos Valor Primitivos Son soportados directamente por el CLR y son parte del CTS Enteros  int8, int16, int32, int64, sin signo... Decimales  decimal (28 digitos) Reales  float32, float64 Caracteres UNICODE  char Booleanos  bool
  • 11. Tipos Básicos de Referencia Object  El padre de todos los tipos Referencia String  Los String son objetos  La clase es final  Son inmutables
  • 13. Hola Mundo using System; class Hola { static void Main() { Console.WriteLine(“Hola Mundo"); } }
  • 14. Otras Opciones public static void Main() { ... } public static int Main() { ... return 0; } public static int Main(string[] args) { ... return 0; }
  • 15. Compilador de Línea de Comando Crear código fuente: Hola.cs. Invocar compilador: csc Hola.cs Si está bien, se crea Hola.exe. Ejecutar: Hola
  • 16. Estructura de un programa C# Namespaces  Tipos, espacios de nombres Declaración de tipos  Clases, interfaces, estructuras, enums, delegados Miembros  Campos, métodos, constantes, indexadores, propiedades, eventos, operadores, constructores, destructores
  • 17. Namespace = Paquetes de Tipos namespace N1 { // N1 class C1 { // N1.C1 class C2 {} // N1.C1.C2 } namespace N2 { // N1.N2 class C2 {} // N1.N2.C2 } }
  • 18. Creando DLLs using System; namespace MyLibreria { public class ClaseSuma { public static long Suma(long i, long j) { return(i+j); } } } using System; namespace MiLibreria { public class ClaseMultiplica { public static long Multiplica(long i, long j) { return(i*j); } } }
  • 19. Usando DLLs using System; using MiLibreria; class MiCliente { public static void Main() { long suma = ClaseSuma.Suma(10, 10); Console.WriteLine(suma); long producto = ClaseMultiplica.Multiplicar(10, 10); Console.WriteLine(producto); } }
  • 20. Tipos Valor (Value Types) primitivos  int i; enums  enum State { Off, On } structs  struct Point { int x, y; }
  • 21. Enums enum Suit { Clubs = 0; Diamonds = 1; Hearts = 2; Spades = 3; } … Suit s = Suit.Clubs; Console.WriteLine (s); …
  • 22. Excepciones try { throw new Exception(“Oops!”); } catch (Exception e) { … Maneja Excepción ……; } finally { … Código de limpieza, se ejecuta siempre…; }
  • 23. Interfaces y Clases interface IFigure { int Area (); } class Square : IFigure { private int side; public Square (int side) { this.side = side; } public int Area () { return (side*side); } }
  • 24. Constructores class B : A { public B (int x) : base (…,…,…) { ………… } public B (bool b) : this (…,…,…) { ………… } public B (char c) { ………… } }
  • 25. Interfaces interface IA { void g (); } interface IB : IA { interface IC : IA { void f (); void f (); } } class X : IB, IC { void IA.g () { Console.WriteLine ("IA.g"); } void IC.f () { Console.WriteLine ("IC.f"); } void IB.f () { Console.WriteLine ("IB.f"); } }
  • 26. Interfaces class Test { public static void Main () { X x = new X (); ((IA)x).g(); ((IC)x).f(); ((IB)x).f(); } }
  • 27. Métodos Virtuales public class Dog { public virtual void RollOver () { Console.WriteLine("Scratch my tummy."); Bark(); } public virtual void Bark () { Console.WriteLine("WOOF WOOF (Dog)"); } }
  • 28. Propiedades e Indexadores class Party { private int start; public int Start { get { return start; } set { start = value; } } }
  • 29. Propiedades e Indexadores class Demo { public static Main () { Borrel b = new Party (); b.Start = 3; int x = b.Start; } }
  • 30. Propiedades e Indexadores class Party { private Dictionary participants; public Borrel() { participants = new Dictionary(); } public bool this[String name] { get { return (participants.Contains(name) && (bool)participants[name]); } set { participants.Add(name,value); } } }
  • 32. Nueva Interfaz de Desarrollo IDE derivada de VB6 Start Page Solution Explorer Varios proyectos en una solución Uno puede ser el principal
  • 33. Ventanas Class View Properties Window Toolbox Server Explorer Web Form Designer Code Window
  • 34. Ventanas Help dinámico Object Browser Compilando: Output Window Depurando: Command, Locals, Autos, Breakpoints Windows Disassembly, Memory Windows
  • 36. WinForms using System; using System.Window.Forms; using System.Drawing; public class MyForm : Form { public MyForm() { this.Text = “Hello World”; } } public class Demo { public static void Main() { Application.Run(new MyForm()); } }
  • 37. Desarrollo Visual Nuevo System.Windows Los formularios son clases Los controles son clases Posicionamiento de los controles Propiedades Ciclo de vida de controles y formularios
  • 38. Aplicación Windows Proyecto Aplicación Windows Formulario Diseñador de Formulario Código automático Controles Eventos
  • 39. Controles y Formularios Nuevos controles Nuevas propiedades MDI Herencia de Formularios Uso de controles OCX Controles propios