SlideShare ist ein Scribd-Unternehmen logo
1 von 19
C# Básico
(Parte I)
V1.0
Febrero 2014
Ferreiras
Introducción
• C# es un lenguaje para la Programación Orientada a Objetos,
diseñado para el Common Language Runtime ( CLR ) de la plataforma
.NET de Microsoft.
• El CLR es un entorno de ejecución basado en componentes,
ofrecidos por el Framework de la tecnología .NET
• El Common Language Runtime (CLR) es el núcleo de la plataforma
.NET ya que es el encargado de gestionar la ejecución de código
compilado para la plataforma .NET. Puede asimilarse a la máquina
virtual de Java, JVM, de la plataforma Java.
• La plataforma .NET es la propuesta de Microsoft para competir con la
plataforma Java.
• Mientras que Java se caracteriza por el principio "escribir una vez,
ejecutar en cualquier lugar", la plataforma .NET de Microsoft está
diseñada para que se puedan desarrollar software utilizando casi
cualquier lenguaje de programación.
Introducción
• Esto es, en vez de estar limitados a un único lenguaje de
programación, la plataforma .NET permite cualquier lenguaje de
programación, siempre y cuando cumpla con normas establecidas
para dicha en su conjunto.
• Existen diversos compiladores para la plataforma .NET: Visual
Basic .NET, C#, Managed C++, Oberon, Component Pascal, Eiffel,
Smalltalk, Cobol, Fortran, Scheme, Mercury, Mondrian/Haskell, Perl,
Python, SML.NET...
• Microsoft Visual Studio es un entorno de desarrollo integrado (IDE)
para sistemas operativos Windows. Soporta multiples lenguajes de
programación tales como C++, C#, Visual Basic .NET, F#, Java,
Phyton, Ruby, php; entornos de desarrollo web como ASP.NET MVC,
Django, ...
Introducción
• El IDE Visual Studio .NET es un conjunto completo de herramientas
de desarrollo para crear aplicaciones ASP Web, servicios Web XML,
aplicaciones de escritorio y aplicaciones móviles.
• Visual Basic .NET, Visual C + + .NET, Visual C# .NET y Visual J#
.NET utilizan el mismo entorno de desarrollo integrado (IDE), que
les permite compartir herramientas y facilita la creación de soluciones
en varios lenguajes. Estos lenguajes aprovechan la funcionalidad del
framework .NET que proporciona acceso a las tecnologías clave para
simplificar el desarrollo de aplicaciones .
Introducción
• Para crear aplicaciones para la plataforma .NET, tanto servicios Web
como aplicaciones tradicionales (aplicaciones de consola, aplicaciones de
ventanas, servicios de Windows NT, etc.), Microsoft ha publicado el denominado
kit de desarrollo de software ( SDK, Software Development Kit ) conocido
como Framework .NET.
• El SDK .NET Framework Contiene el CLR (Common Languaje Runtime),
el .NET Framework Classes y características avanzadas comoADO.NET (para
acceso a bases de datos), ASP.NET (para generar páginas activas)
y WinForms (para construir aplicaciones Windows).
• Además del SDK .NET Framework se puede emplear el IDE Visual
Studio.NET que permite hacer todo la anterior desde una interfaz visual basada
en ventanas.
• Ambas herramientas pueden descargarse de manera gratuita
desde: http://www.msdn.microsoft.com/net.
Introducción
• El SDK para la plataforma .NET Microsoft pone a disposición de todo aquél
que esté interesado el kit de desarrollo de software para la plataforma .NET: The
Microsoft .NET Framework Software Development Kit (SDK). Este kit incluye la
plataforma .NET y todo lo necesario para desarrollar, compilar, probar y distribuir
aplicaciones para la plataforma .NET (así como documentación, ejemplos,
herramientas en línea de comandos y compiladores).
• El Visual Studio .NET ya incluye la plataforma .NET, por lo que, si ya tiene
instalado el Visual Studio .NET no tendrá que instalar el SDK por separado.
• Windows SDK is the successor of the Platform SDK, and .NET Framework
SDK and supports developing applications forWindows XP, Windows
Vista, Windows 7, Windows Server 2008,.NET Framework 3.0, .NET Framework
3.5, and .NET Framework 4.0
• Microsoft Windows SDK is included in Visual Studio 2008, 2010, 2012
(http://en.wikipedia.org/wiki/Microsoft_Windows_SDK)
Introducción
What is .NET?
• .NET is an integral part of many applications running on Windows and provides
common functionality for those applications to run. This download is for people
who need .NET to run an application on their computer. For developers,
the .NET Framework provides a comprehensive and consistent programming
model for building applications that have visually stunning user experiences and
seamless and secure communication. (http://www.microsoft.com/net/ )
• See Overview of the .NET Framework on http://msdn.microsoft.com/en-
us/library/zw4w595w.aspx
• The .NET Framework is a managed execution environment that provides a
variety of services to its running applications. It consists of two major
components: the common language runtime (CLR), which is the execution
engine that handles running applications; and the .NET Framework Class
Library, which provides a library of tested, reusable code that developers can call
from their own applications. (http://msdn.microsoft.com/en-
us/library/hh425099.aspx)
Introducción
• C# se compila a un Lenguaje Intermedio llamado MSIL (Microsoft Intermediate
Language), que no es binario dependiente de la plataforma, sino que se ejecuta
sobre unba máquina virtual que provee el Common Language Runtime (CLR).
Esto quiere decir que C# no pueda compilarse a código binario dependiente de
la plataforma.
• C# se puede utilizar sólo para el API provisto por el Framework .NET.
• El CLR contiene un compilador en línea o JIT que tiene como labor convertir el
código MSIL a código nativo de la plataforma para la que sea ejecutado.
• Para que un lenguaje de programación sea soportado por la plataforma .NET,
ha de existir un compilador que traduzca de este lenguaje a MSIL. A la hora de
ejecutar el código intermedio, éste es siempre compilado a código nativo.
Introducción
• La producción y ejecución de una aplicación C# es como sigue, en términos
generales:
Código Fuente C#
(nombre.cs) Compilador
( csc,exe)
Código Intermedio, MSIL
( .exe, .dll )
CLR
Compilador JIT
Ejecución
Introducción
Espacios de nombres ( namespace )
• Un espacio de nombres o namespace es una agrupación lógica de tipos, un
directorio lógico dentro de la biblioteca del Framework .NET compuesto de
código relacionado entre sí.
• Es el equivalente a los package en Java.
• En C# todo está empacado en una clase y las clases se empaqueta en
namespaces (al igual que los archivos de una carpeta).
• Cada clase se empaqueta en un namespace. Los espacios de nombres son
exactamente el mismo concepto que en C++, pero en C# los namespaces son
utilizados con más frecuencia que en C++.
• Por ejemplo, el namespace System incluye los tipos básicos, Console, Math,
entre otros.
Introducción
Espacios de nombres ( namespace )
• Al escribir el código C# de una aplicación se utilizan
clases y otros tipos que están definidos en un namespace.
Por eso, se ha de indicar ( en el código ) el namespace al
que pertenecen.
• Para ello se usará la instrucción:
using nombreDelNamespace;
Introducción
Espacios de nombres ( namespace )
• Para acceder a una clase en un namespace se utiliza el calificador de
punto (.):
• nombreDelNamespace.nombreDeLaClase.metodoDeLaClase;
• Los espacios de nombre se pueden anidar.
Introducción
Espacios de nombres ( namespace )
• using
Esta directiva facilita el uso de un namespace.
• Por ejemplo: Supóngase que se desea utilizar el método estático
WriteLine() de la clase Console que está incluida en el namespace
System. Esto podemos hacerlo de dos maneras:
• Llamando la clase directamente:
• System.Console.WriteLine(“Estamos en C#, Wao !! “);
Introducción
Espacios de nombres ( namespace )
• using
Esta directiva facilita el uso de un namespace.
• Por ejemplo: Supóngase que se desea utilizar el método estático
WriteLine() de la clase Console que está incluida en el namespace
System. Esto podemos hacerlo de dos maneras:
• Usando using :
• using System;
• ...
• Console.WriteLine(“Estamos en C#, Wao !! “);
• ...
Introducción
Espacios de nombres ( namespace )
• Para incluir una clase en un namespace:
using algunNamespaceRequerido;
...
namespace nombreDelNamespace {
class nombreDeLaClase {
// cuerpo de la clase
}
}
• Más adelante veremos código de ejemplo de uso de estos conceptos.
Introducción
Biblioteca de clases .NET Framework
• Esta compuesta de un vasto conjunto de espacios de nombre (namespace).
• Es la base sobre la que se compilan las aplicaciones de .NET Framework,
proporcionando acceso a la funcionalidad del sistema.
• En http://msdn.microsoft.com/es-es/library/gg145045(v=vs.100).aspx se puede
ver la .NET Framework 4.0
• Seleccionando el namespace System en el link anterior tendremos acceso a
todas las clases de System.
• En System, por ejemplo, seleccionamos la clase Console, la cual representa
los flujos de entrada, salida y error estándar para las aplicaciones de
consola. Esta clase no puede heredarse.
Introducción
Biblioteca de clases .NET Framework
• Console
Console (Clase) para .NET Framework 4
Representa los flujos de entrada, salida y error estándar para las aplicaciones de consola.
Esta clase no puede heredarse.
Jerarquía de herencia
System.Object
System.Console
Espacio de nombres: System
Otras informaciones encontradas son Sintaxis, Propiedades. Metodos, Comentarios,
Ejemplos de uso, Información de versión, Plataformas, Seguridad para subprocesos
Introducción
• Para trabajar con C#
• Visual C# <aaaa> Express Edition, la cual usa C# 4.0 and .NET Framework
4.0 ( <aaaa> es el año. Use la que se acomode a su máquina )
• Descargar el paquete de intalación de:
http://www.visualstudio.com/es-es/products/visual-studio-express-vs
• Hacer la instalación completa.
• Eso debería instalar todo lo que usted necesita: el IDE .NET Framework 4.0,
y otras herramientas.
• Otras opciones para instalar la tecnología .NET están disponibles en internet.
Referencias
• C# Concisely; Judith Bishop, Nigel Hospool; Pearson, Addison Wisley 2003.
• Head First C#; Andrew Stellman and Jennifer Greene ; Second Edition; O’Reilly
Media, 2010.
• Desarrollo de aplicaciones .NET con Visual C#; Miguel Rodríguez Gómez-Stern,
Marcos Antonio Besteiro Gorostizaga; McGra2-Hill/Interamericana de España,
S.A.U., 2002.
• Visual C# Language
http://msdn.microsoft.com/en-us/library/aa287558(v=vs.71).aspx
• ...
-

Weitere ähnliche Inhalte

Ähnlich wie C_Basico_Parte_I.pptx

Introducción a la programación visual
Introducción a la programación visualIntroducción a la programación visual
Introducción a la programación visual
miguelangelvillelli
 
Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
lilymejia1979
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoft
brobelo
 
Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
lilymejia1979
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.net
cesarnrv
 

Ähnlich wie C_Basico_Parte_I.pptx (20)

Microsoft .NET Propuesta
Microsoft .NET PropuestaMicrosoft .NET Propuesta
Microsoft .NET Propuesta
 
Desarrollo aplicaciones windows c#
Desarrollo aplicaciones windows c#Desarrollo aplicaciones windows c#
Desarrollo aplicaciones windows c#
 
Introducción a la programación visual
Introducción a la programación visualIntroducción a la programación visual
Introducción a la programación visual
 
1 Plataforma .Net
1 Plataforma .Net1 Plataforma .Net
1 Plataforma .Net
 
Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435
 
Plataforma.net
Plataforma.netPlataforma.net
Plataforma.net
 
Introduccion Microsoft.net
Introduccion Microsoft.netIntroduccion Microsoft.net
Introduccion Microsoft.net
 
Introduccion microsoft.net
Introduccion microsoft.netIntroduccion microsoft.net
Introduccion microsoft.net
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.net
 
Conceptos de Plataforma.Net
Conceptos de Plataforma.NetConceptos de Plataforma.Net
Conceptos de Plataforma.Net
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoft
 
Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
 
Manual visual basic .net
Manual visual basic .net Manual visual basic .net
Manual visual basic .net
 
visual basic .net
visual basic .netvisual basic .net
visual basic .net
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.net
 

Kürzlich hochgeladen

sistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gstsistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gst
DavidRojas870673
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
refrielectriccarlyz
 
Tipos de Valvulas para uso industrial y comercial
Tipos de Valvulas para uso industrial y comercialTipos de Valvulas para uso industrial y comercial
Tipos de Valvulas para uso industrial y comercial
macsal12345
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
evercoyla
 

Kürzlich hochgeladen (20)

ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
sistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gstsistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gst
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
2e38892c-fc5d-490e-b751-ce772cf4756f.pdf
2e38892c-fc5d-490e-b751-ce772cf4756f.pdf2e38892c-fc5d-490e-b751-ce772cf4756f.pdf
2e38892c-fc5d-490e-b751-ce772cf4756f.pdf
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
Tipos de Valvulas para uso industrial y comercial
Tipos de Valvulas para uso industrial y comercialTipos de Valvulas para uso industrial y comercial
Tipos de Valvulas para uso industrial y comercial
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientos
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 

C_Basico_Parte_I.pptx

  • 2. Introducción • C# es un lenguaje para la Programación Orientada a Objetos, diseñado para el Common Language Runtime ( CLR ) de la plataforma .NET de Microsoft. • El CLR es un entorno de ejecución basado en componentes, ofrecidos por el Framework de la tecnología .NET • El Common Language Runtime (CLR) es el núcleo de la plataforma .NET ya que es el encargado de gestionar la ejecución de código compilado para la plataforma .NET. Puede asimilarse a la máquina virtual de Java, JVM, de la plataforma Java. • La plataforma .NET es la propuesta de Microsoft para competir con la plataforma Java. • Mientras que Java se caracteriza por el principio "escribir una vez, ejecutar en cualquier lugar", la plataforma .NET de Microsoft está diseñada para que se puedan desarrollar software utilizando casi cualquier lenguaje de programación.
  • 3. Introducción • Esto es, en vez de estar limitados a un único lenguaje de programación, la plataforma .NET permite cualquier lenguaje de programación, siempre y cuando cumpla con normas establecidas para dicha en su conjunto. • Existen diversos compiladores para la plataforma .NET: Visual Basic .NET, C#, Managed C++, Oberon, Component Pascal, Eiffel, Smalltalk, Cobol, Fortran, Scheme, Mercury, Mondrian/Haskell, Perl, Python, SML.NET... • Microsoft Visual Studio es un entorno de desarrollo integrado (IDE) para sistemas operativos Windows. Soporta multiples lenguajes de programación tales como C++, C#, Visual Basic .NET, F#, Java, Phyton, Ruby, php; entornos de desarrollo web como ASP.NET MVC, Django, ...
  • 4. Introducción • El IDE Visual Studio .NET es un conjunto completo de herramientas de desarrollo para crear aplicaciones ASP Web, servicios Web XML, aplicaciones de escritorio y aplicaciones móviles. • Visual Basic .NET, Visual C + + .NET, Visual C# .NET y Visual J# .NET utilizan el mismo entorno de desarrollo integrado (IDE), que les permite compartir herramientas y facilita la creación de soluciones en varios lenguajes. Estos lenguajes aprovechan la funcionalidad del framework .NET que proporciona acceso a las tecnologías clave para simplificar el desarrollo de aplicaciones .
  • 5. Introducción • Para crear aplicaciones para la plataforma .NET, tanto servicios Web como aplicaciones tradicionales (aplicaciones de consola, aplicaciones de ventanas, servicios de Windows NT, etc.), Microsoft ha publicado el denominado kit de desarrollo de software ( SDK, Software Development Kit ) conocido como Framework .NET. • El SDK .NET Framework Contiene el CLR (Common Languaje Runtime), el .NET Framework Classes y características avanzadas comoADO.NET (para acceso a bases de datos), ASP.NET (para generar páginas activas) y WinForms (para construir aplicaciones Windows). • Además del SDK .NET Framework se puede emplear el IDE Visual Studio.NET que permite hacer todo la anterior desde una interfaz visual basada en ventanas. • Ambas herramientas pueden descargarse de manera gratuita desde: http://www.msdn.microsoft.com/net.
  • 6. Introducción • El SDK para la plataforma .NET Microsoft pone a disposición de todo aquél que esté interesado el kit de desarrollo de software para la plataforma .NET: The Microsoft .NET Framework Software Development Kit (SDK). Este kit incluye la plataforma .NET y todo lo necesario para desarrollar, compilar, probar y distribuir aplicaciones para la plataforma .NET (así como documentación, ejemplos, herramientas en línea de comandos y compiladores). • El Visual Studio .NET ya incluye la plataforma .NET, por lo que, si ya tiene instalado el Visual Studio .NET no tendrá que instalar el SDK por separado. • Windows SDK is the successor of the Platform SDK, and .NET Framework SDK and supports developing applications forWindows XP, Windows Vista, Windows 7, Windows Server 2008,.NET Framework 3.0, .NET Framework 3.5, and .NET Framework 4.0 • Microsoft Windows SDK is included in Visual Studio 2008, 2010, 2012 (http://en.wikipedia.org/wiki/Microsoft_Windows_SDK)
  • 7. Introducción What is .NET? • .NET is an integral part of many applications running on Windows and provides common functionality for those applications to run. This download is for people who need .NET to run an application on their computer. For developers, the .NET Framework provides a comprehensive and consistent programming model for building applications that have visually stunning user experiences and seamless and secure communication. (http://www.microsoft.com/net/ ) • See Overview of the .NET Framework on http://msdn.microsoft.com/en- us/library/zw4w595w.aspx • The .NET Framework is a managed execution environment that provides a variety of services to its running applications. It consists of two major components: the common language runtime (CLR), which is the execution engine that handles running applications; and the .NET Framework Class Library, which provides a library of tested, reusable code that developers can call from their own applications. (http://msdn.microsoft.com/en- us/library/hh425099.aspx)
  • 8. Introducción • C# se compila a un Lenguaje Intermedio llamado MSIL (Microsoft Intermediate Language), que no es binario dependiente de la plataforma, sino que se ejecuta sobre unba máquina virtual que provee el Common Language Runtime (CLR). Esto quiere decir que C# no pueda compilarse a código binario dependiente de la plataforma. • C# se puede utilizar sólo para el API provisto por el Framework .NET. • El CLR contiene un compilador en línea o JIT que tiene como labor convertir el código MSIL a código nativo de la plataforma para la que sea ejecutado. • Para que un lenguaje de programación sea soportado por la plataforma .NET, ha de existir un compilador que traduzca de este lenguaje a MSIL. A la hora de ejecutar el código intermedio, éste es siempre compilado a código nativo.
  • 9. Introducción • La producción y ejecución de una aplicación C# es como sigue, en términos generales: Código Fuente C# (nombre.cs) Compilador ( csc,exe) Código Intermedio, MSIL ( .exe, .dll ) CLR Compilador JIT Ejecución
  • 10. Introducción Espacios de nombres ( namespace ) • Un espacio de nombres o namespace es una agrupación lógica de tipos, un directorio lógico dentro de la biblioteca del Framework .NET compuesto de código relacionado entre sí. • Es el equivalente a los package en Java. • En C# todo está empacado en una clase y las clases se empaqueta en namespaces (al igual que los archivos de una carpeta). • Cada clase se empaqueta en un namespace. Los espacios de nombres son exactamente el mismo concepto que en C++, pero en C# los namespaces son utilizados con más frecuencia que en C++. • Por ejemplo, el namespace System incluye los tipos básicos, Console, Math, entre otros.
  • 11. Introducción Espacios de nombres ( namespace ) • Al escribir el código C# de una aplicación se utilizan clases y otros tipos que están definidos en un namespace. Por eso, se ha de indicar ( en el código ) el namespace al que pertenecen. • Para ello se usará la instrucción: using nombreDelNamespace;
  • 12. Introducción Espacios de nombres ( namespace ) • Para acceder a una clase en un namespace se utiliza el calificador de punto (.): • nombreDelNamespace.nombreDeLaClase.metodoDeLaClase; • Los espacios de nombre se pueden anidar.
  • 13. Introducción Espacios de nombres ( namespace ) • using Esta directiva facilita el uso de un namespace. • Por ejemplo: Supóngase que se desea utilizar el método estático WriteLine() de la clase Console que está incluida en el namespace System. Esto podemos hacerlo de dos maneras: • Llamando la clase directamente: • System.Console.WriteLine(“Estamos en C#, Wao !! “);
  • 14. Introducción Espacios de nombres ( namespace ) • using Esta directiva facilita el uso de un namespace. • Por ejemplo: Supóngase que se desea utilizar el método estático WriteLine() de la clase Console que está incluida en el namespace System. Esto podemos hacerlo de dos maneras: • Usando using : • using System; • ... • Console.WriteLine(“Estamos en C#, Wao !! “); • ...
  • 15. Introducción Espacios de nombres ( namespace ) • Para incluir una clase en un namespace: using algunNamespaceRequerido; ... namespace nombreDelNamespace { class nombreDeLaClase { // cuerpo de la clase } } • Más adelante veremos código de ejemplo de uso de estos conceptos.
  • 16. Introducción Biblioteca de clases .NET Framework • Esta compuesta de un vasto conjunto de espacios de nombre (namespace). • Es la base sobre la que se compilan las aplicaciones de .NET Framework, proporcionando acceso a la funcionalidad del sistema. • En http://msdn.microsoft.com/es-es/library/gg145045(v=vs.100).aspx se puede ver la .NET Framework 4.0 • Seleccionando el namespace System en el link anterior tendremos acceso a todas las clases de System. • En System, por ejemplo, seleccionamos la clase Console, la cual representa los flujos de entrada, salida y error estándar para las aplicaciones de consola. Esta clase no puede heredarse.
  • 17. Introducción Biblioteca de clases .NET Framework • Console Console (Clase) para .NET Framework 4 Representa los flujos de entrada, salida y error estándar para las aplicaciones de consola. Esta clase no puede heredarse. Jerarquía de herencia System.Object System.Console Espacio de nombres: System Otras informaciones encontradas son Sintaxis, Propiedades. Metodos, Comentarios, Ejemplos de uso, Información de versión, Plataformas, Seguridad para subprocesos
  • 18. Introducción • Para trabajar con C# • Visual C# <aaaa> Express Edition, la cual usa C# 4.0 and .NET Framework 4.0 ( <aaaa> es el año. Use la que se acomode a su máquina ) • Descargar el paquete de intalación de: http://www.visualstudio.com/es-es/products/visual-studio-express-vs • Hacer la instalación completa. • Eso debería instalar todo lo que usted necesita: el IDE .NET Framework 4.0, y otras herramientas. • Otras opciones para instalar la tecnología .NET están disponibles en internet.
  • 19. Referencias • C# Concisely; Judith Bishop, Nigel Hospool; Pearson, Addison Wisley 2003. • Head First C#; Andrew Stellman and Jennifer Greene ; Second Edition; O’Reilly Media, 2010. • Desarrollo de aplicaciones .NET con Visual C#; Miguel Rodríguez Gómez-Stern, Marcos Antonio Besteiro Gorostizaga; McGra2-Hill/Interamericana de España, S.A.U., 2002. • Visual C# Language http://msdn.microsoft.com/en-us/library/aa287558(v=vs.71).aspx • ... -