SlideShare una empresa de Scribd logo
1 de 25
C#
BIENVENIDOS!!!!
LENGUAJES DE PROGRAMACIÓN 0700
Introducción
 El lenguaje C# se presenta como el último invento en
materia de lenguajes de programación, y constituye
también la más reciente y ambiciosa apuesta en este
sentido por parte de Microsoft.
 A continuación revisaremos los aspectos más
importantes de este lenguaje de programación y
explicaremos de manera simple cada uno de sus
aspectos mas importantes. Empecemos: …
Visión general del C#
 Lenguaje de programación orientado a objetos simple,
moderno y de propósito general.
 Inclusión de principios de ingeniería de software tales como
revisión estricta de los tipos de datos, revisión de límites de
vectores, detección de intentos de usar variables no
inicializadas, y recolección de basura automática.
 Capacidad para desarrollar componentes de software que se
puedan usar en ambientes distribuidos.
 Portabilidad del código fuente.
Visión general del C#
 Fácil migración del programador al nuevo lenguaje,
especialmente para programadores familiarizados con C,
C++ y Java.
 Soporte para internalización.
 Adecuación para escribir aplicaciones de cualquier
tamaño: desde las más grandes y sofisticadas como
sistemas operativos hasta las más pequeñas funciones.
 Aplicaciones económicas en cuanto a memoria y
procesado.
Historia y antecedentes del C#
 Fue desarrollado por un equipo dirigido por Anders
Helsjberg y Scott Wiltamuth.
 Para solventar necesidades de evolución del software.
 Contiene sus bases en c, c++ y java.
 Hubo necesidad para implementar software en la
plataforma web y móvil.
 El origen del nombre se debe a c++++.
 Se estandarizó a través de ECMA internacional.
Evolución del C#
 C # 1.0
Lanzado con NET 1.0 y VS2002 (enero de 2002).
El uso de código administrado se introdujo con esta
versión. C # 1.0 fue el primer idioma que el
desarrollador ha adoptado para construir. NET.

C# 1.2
Puesto en libertad con NET 1.1 y VS2003 (abril de 2003).
Primera versión para llamar a Dispose en IEnumerator s
que implementa IDisposable . IDisposable en simples
palabras es el recolector de basura.
Evolución del C#
 C# 2.0 (Visual Studio 2005)
 Métodos anónimos: es pasar un bloque de código como parámetro a
un delegado, esto es útil para evitar la sobrecarga innecesaria de
métodos.
 Nullable Tipo: Capacidad de asignar valores nulos, muy útil para el uso
de base de datos.
 Clase parcial: permite que los programadores trabajen al mismo
tiempo una sola clase ya que se divide en varios archivos gracias a
esta característica.
 Covarianza y Contra-varianza: la covarianza y la contra-varianza
permiten la conversión implícita de referencias para los tipos de matriz,
los tipos de delegado y los argumentos de tipo genérico
Evolución del C#
 C# 3.0 (Visual Studio 2008)
 Método de extensión
 Árbol de Expresión: Varias expresiones Lambda.
 Tipos anónimos
 LINQ: Consultas similares a SQL para clases.
 Tipo implícito (var)
Evolución del C#
 C# 4.0 (Visual Studio 2010)
 Late Binding: es un soporte para programar.
 Los argumentos con nombre: ayuda a la legibilidad del
código.
Parámetros opcionales: se iguala a un valor cuando se
define la función que se utilizara como default por si el
valor no se ingresa al llamar dicha función.
 Más soporte COM
Evolución del C#
 C# 5.0 (Visual Studio 2012)
 Async Feature: es una buena manera de aprovechar
los recursos y disminuir el tiempo de espera; definiendo
métodos asincrónicos y de espera.
 La información del llamante: es muy útil para realizar
diagnósticos y depuración, porque por medio de esta
característica puedes obtener la información del
llamante de una función determinada.
Evolución del C#
 C# 5.0 (Visual Studio 2012)
 Async Feature: es una buena manera de aprovechar
los recursos y disminuir el tiempo de espera; definiendo
métodos asincrónicos y de espera.
 La información del llamante: es muy útil para realizar
diagnósticos y depuración, porque por medio de esta
característica puedes obtener la información del
llamante de una función determinada.
Compiladores e IDE's
 Microsoft .NET Framework 2.0 (SDK) (Windows).
 Microsoft Visual Studio, IDE por excelencia de este lenguaje.
 SharpDevelop, IDE libre para C# bajo licencia GNU LGPL, con
una interfaz muy similar a Microsoft Visual Studio.
 Mono, es una implementación con licencia GNU GPL de todo el
entorno .NET desarrollado por Novell. Como parte de esta
implementación se incluye un compilador de C#, utilizado en
diversos Sistemas Operativos.
 Delphi 2006, de Borland Software Corporation.
 DotGNU Portable.NET, de la Free Software Foundation.
Profundizando en .Net
Framework
Arquitectura
Dentro de este aspecto, podemos basarnos en el
modelo MVC (Controlador => Modelo => Vista).
Características:
 Interoperabilidad
 Independencia de lenguajes
 Portabilidad
 Seguridad
 Administración de recursos
 Desarrollo simple
 Rendimiento
Infraestructura:
Tipos de Datos Primitivos C#
Tipo de datos de enteros
Tipo Equivalente BCL Tamaño Rango Significado
byte System.Byte 8-bit (1-byte) 0 a 255 Entero sin signo
sbyte System.SByte 8-bit (1-byte) -128 a 127 Entero con signo
short System.Int16 16-bit (2-byte) -32.768 a 32.767
Entero corto con
signo
ushort System.UInt16 16-bit (2-byte) 0 a 65.535 Entero corto sin signo
int System.Int32 32-bit (4-byte)
-2.147.483.648 a
2.147.483.647
Entero medio con
signo
uint System.UInt32 32-bit (4-byte) 0 a 4.294.967.295
Entero medio sin
signo
long System.Int64 64-bit (8-byte)
-9.223.372.036.854.775.808 a
9.223.372.036.854.775.807
Entero largo con
signo
ulong System.UInt64 64-bit (8-byte)
0 a
18.446.744.073.709.551.615
Entero largo sin signo
Tipos de Datos Primitivos C#
Tipo de datos de coma flotante
Tipo
Equivalente
BCL
Tamaño Rango Significado
float System.Single 32-bit (4-byte)
±1.401298E−45
a
±3.402823E+38
Coma flotante
corto
double System.Double 64-bit (8-byte)
±4.94065645841
246E−324 a
±1.79769313486
232E+308
Coma flotante
largo
decimal System.Decimal
128-bit (16-
byte)
−7.92281625142
6433759354395
0335 a
+7.92281625142
6433759354395
0335
Coma flotante
monetario
Tipos de Datos Primitivos C#
Tipo de datos de caracteres
Tipo Equivalente BCL Tamaño Rango Significado
char System.Char 16-bit (2-byte) 'u0000' a 'uFFFF' Carácter unicode
Tipo de datos lógicos
Tipo Equivalente BCL Tamaño Rango Significado
bool System.Boolean 8-bit (1-byte) true o false
Verdadero o
falso
Tipos de Datos C#
Enteros
decimal 245, [0..9]+
hexadecimal 0xF5, 0x[0..9, A..F, a..f]+
entero largo 12L
entero largo sin signo 654UL
Coma flotante
float 23.5F, 23.5f; 1.72E3F, 1.72E3f, 1.72e3F, 1.72e3f
double 23.5, 23.5D, 23.5d, 1.72E3, 1.72E3D
decimal 9.95M
Caracteres
char 'a', 'Z', 'u0231'
Cadenas
String "Hello, world"; "C:Windows", @"C:Windows"
Definir Variables
 Declarar una variable:
int miNumero; // Declaramos la variable, pero no la inicializamos con ningún valor.
 Para asignar un valor a una variable, se indica el identificador de la
misma, seguido del símbolo igual (=) y el valor que queremos
que almacene:
miNumero = 5; // Asignamos el valor '5'.
 También se puede declarar y asignar un valor al mismo tiempo:
int miNumero = 5; // Declaramos la variable, y asignamos el valor '5'.
Conversiones
Conversiones de tipo de datos
byt
e
sbyte short
ushor
t
int uint long ulong float
doubl
e
deci
mal
char bool
byte E A A A A A A E E E E I
sbyte E A E A E A A E E E E I
short E E E A
A
A A E E E E I
ushort E E E A A A A E E E E I
int E E E E E A A E E E E I
uint E E E E E A A E E E E I
long E E E E E E E E E E E I
ulong E E E E E E E E E E E I
float E E E E E E E E A E I I
double E E E E E E E E E E I I
decim
al
E E E E E E E E E E I I
Algoritmos C#
If-Else
if (i == 2) { // ...
}else if (i == 3) { // ...
}else { // ...
}
switch
switch (i) {
case 1:
...
break;
case 2:
case 3:
...
break;
default:
...
break;
}
for
for (int i = 0; i < 10; i++) {
// ...
}
while
while (i < 10) {
// ...
}
do-while
do {
// ...
} while (true);
foreach
foreach (char c in charList) {
// ...
}
Programación orientada a Objetos
La POO es un paradigma que
utiliza objetos en sus
interacciones basado en las
técnicas de los pilares
Encapsulamiento ,Herencia,
Polimorfismo y abstracción.
Estructura de una clase C#
(Abstracción)
Encapsulamiento
Es el ocultamiento del estado
de un objeto, el cual solo se
puede cambiar por medio de
métodos públicos establecidos
(interfaz pública).
Tipos de Acceso:
• Private
• Public
• Protected
Herencia y Polimorfismo
 La herencia es cuando una clase (Padre) le comparte todos sus
métodos, constructores y atributos (públicos) a una clase Hija, la
clase padre generalmente es abstracta, por ejemplo:
 El polimorfismo ocurre cuando una
clase padre tiene una instancia de
una clase hija, es muy útil para tratar
los objetos de forma homogénea.
Conclusiones

Más contenido relacionado

Similar a Csharp

Similar a Csharp (20)

Manual c++01
Manual c++01Manual c++01
Manual c++01
 
Todo sobre C#
Todo sobre C#Todo sobre C#
Todo sobre C#
 
Reporte_de_microsoft_visual_c#
Reporte_de_microsoft_visual_c#Reporte_de_microsoft_visual_c#
Reporte_de_microsoft_visual_c#
 
Moviles
MovilesMoviles
Moviles
 
Moviles
MovilesMoviles
Moviles
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Historia de c++
Historia de c++Historia de c++
Historia de c++
 
Introducción a lenguaje Visual Basic
Introducción a lenguaje Visual BasicIntroducción a lenguaje Visual Basic
Introducción a lenguaje Visual Basic
 
Historia de c++
Historia de c++Historia de c++
Historia de c++
 
Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#
 
Programacion en C#
Programacion en C#Programacion en C#
Programacion en C#
 
Exposicion
ExposicionExposicion
Exposicion
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Taller de c sharp
Taller de c sharpTaller de c sharp
Taller de c sharp
 
Lenguaje de programacion c#
Lenguaje de programacion c#Lenguaje de programacion c#
Lenguaje de programacion c#
 
Manual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaManual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky Bonilla
 
Int. programacion
Int. programacionInt. programacion
Int. programacion
 
definicion de java
definicion de javadefinicion de java
definicion de java
 
Trabajo programación (caracteristicas, versiones y desarrolladores de c#)
Trabajo programación (caracteristicas, versiones y desarrolladores de c#)Trabajo programación (caracteristicas, versiones y desarrolladores de c#)
Trabajo programación (caracteristicas, versiones y desarrolladores de c#)
 
Portafolio de evidencias actividades
Portafolio de evidencias actividadesPortafolio de evidencias actividades
Portafolio de evidencias actividades
 

Csharp

  • 2. Introducción  El lenguaje C# se presenta como el último invento en materia de lenguajes de programación, y constituye también la más reciente y ambiciosa apuesta en este sentido por parte de Microsoft.  A continuación revisaremos los aspectos más importantes de este lenguaje de programación y explicaremos de manera simple cada uno de sus aspectos mas importantes. Empecemos: …
  • 3. Visión general del C#  Lenguaje de programación orientado a objetos simple, moderno y de propósito general.  Inclusión de principios de ingeniería de software tales como revisión estricta de los tipos de datos, revisión de límites de vectores, detección de intentos de usar variables no inicializadas, y recolección de basura automática.  Capacidad para desarrollar componentes de software que se puedan usar en ambientes distribuidos.  Portabilidad del código fuente.
  • 4. Visión general del C#  Fácil migración del programador al nuevo lenguaje, especialmente para programadores familiarizados con C, C++ y Java.  Soporte para internalización.  Adecuación para escribir aplicaciones de cualquier tamaño: desde las más grandes y sofisticadas como sistemas operativos hasta las más pequeñas funciones.  Aplicaciones económicas en cuanto a memoria y procesado.
  • 5. Historia y antecedentes del C#  Fue desarrollado por un equipo dirigido por Anders Helsjberg y Scott Wiltamuth.  Para solventar necesidades de evolución del software.  Contiene sus bases en c, c++ y java.  Hubo necesidad para implementar software en la plataforma web y móvil.  El origen del nombre se debe a c++++.  Se estandarizó a través de ECMA internacional.
  • 6. Evolución del C#  C # 1.0 Lanzado con NET 1.0 y VS2002 (enero de 2002). El uso de código administrado se introdujo con esta versión. C # 1.0 fue el primer idioma que el desarrollador ha adoptado para construir. NET.  C# 1.2 Puesto en libertad con NET 1.1 y VS2003 (abril de 2003). Primera versión para llamar a Dispose en IEnumerator s que implementa IDisposable . IDisposable en simples palabras es el recolector de basura.
  • 7. Evolución del C#  C# 2.0 (Visual Studio 2005)  Métodos anónimos: es pasar un bloque de código como parámetro a un delegado, esto es útil para evitar la sobrecarga innecesaria de métodos.  Nullable Tipo: Capacidad de asignar valores nulos, muy útil para el uso de base de datos.  Clase parcial: permite que los programadores trabajen al mismo tiempo una sola clase ya que se divide en varios archivos gracias a esta característica.  Covarianza y Contra-varianza: la covarianza y la contra-varianza permiten la conversión implícita de referencias para los tipos de matriz, los tipos de delegado y los argumentos de tipo genérico
  • 8. Evolución del C#  C# 3.0 (Visual Studio 2008)  Método de extensión  Árbol de Expresión: Varias expresiones Lambda.  Tipos anónimos  LINQ: Consultas similares a SQL para clases.  Tipo implícito (var)
  • 9. Evolución del C#  C# 4.0 (Visual Studio 2010)  Late Binding: es un soporte para programar.  Los argumentos con nombre: ayuda a la legibilidad del código. Parámetros opcionales: se iguala a un valor cuando se define la función que se utilizara como default por si el valor no se ingresa al llamar dicha función.  Más soporte COM
  • 10. Evolución del C#  C# 5.0 (Visual Studio 2012)  Async Feature: es una buena manera de aprovechar los recursos y disminuir el tiempo de espera; definiendo métodos asincrónicos y de espera.  La información del llamante: es muy útil para realizar diagnósticos y depuración, porque por medio de esta característica puedes obtener la información del llamante de una función determinada.
  • 11. Evolución del C#  C# 5.0 (Visual Studio 2012)  Async Feature: es una buena manera de aprovechar los recursos y disminuir el tiempo de espera; definiendo métodos asincrónicos y de espera.  La información del llamante: es muy útil para realizar diagnósticos y depuración, porque por medio de esta característica puedes obtener la información del llamante de una función determinada.
  • 12. Compiladores e IDE's  Microsoft .NET Framework 2.0 (SDK) (Windows).  Microsoft Visual Studio, IDE por excelencia de este lenguaje.  SharpDevelop, IDE libre para C# bajo licencia GNU LGPL, con una interfaz muy similar a Microsoft Visual Studio.  Mono, es una implementación con licencia GNU GPL de todo el entorno .NET desarrollado por Novell. Como parte de esta implementación se incluye un compilador de C#, utilizado en diversos Sistemas Operativos.  Delphi 2006, de Borland Software Corporation.  DotGNU Portable.NET, de la Free Software Foundation.
  • 13. Profundizando en .Net Framework Arquitectura Dentro de este aspecto, podemos basarnos en el modelo MVC (Controlador => Modelo => Vista). Características:  Interoperabilidad  Independencia de lenguajes  Portabilidad  Seguridad  Administración de recursos  Desarrollo simple  Rendimiento Infraestructura:
  • 14. Tipos de Datos Primitivos C# Tipo de datos de enteros Tipo Equivalente BCL Tamaño Rango Significado byte System.Byte 8-bit (1-byte) 0 a 255 Entero sin signo sbyte System.SByte 8-bit (1-byte) -128 a 127 Entero con signo short System.Int16 16-bit (2-byte) -32.768 a 32.767 Entero corto con signo ushort System.UInt16 16-bit (2-byte) 0 a 65.535 Entero corto sin signo int System.Int32 32-bit (4-byte) -2.147.483.648 a 2.147.483.647 Entero medio con signo uint System.UInt32 32-bit (4-byte) 0 a 4.294.967.295 Entero medio sin signo long System.Int64 64-bit (8-byte) -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 Entero largo con signo ulong System.UInt64 64-bit (8-byte) 0 a 18.446.744.073.709.551.615 Entero largo sin signo
  • 15. Tipos de Datos Primitivos C# Tipo de datos de coma flotante Tipo Equivalente BCL Tamaño Rango Significado float System.Single 32-bit (4-byte) ±1.401298E−45 a ±3.402823E+38 Coma flotante corto double System.Double 64-bit (8-byte) ±4.94065645841 246E−324 a ±1.79769313486 232E+308 Coma flotante largo decimal System.Decimal 128-bit (16- byte) −7.92281625142 6433759354395 0335 a +7.92281625142 6433759354395 0335 Coma flotante monetario
  • 16. Tipos de Datos Primitivos C# Tipo de datos de caracteres Tipo Equivalente BCL Tamaño Rango Significado char System.Char 16-bit (2-byte) 'u0000' a 'uFFFF' Carácter unicode Tipo de datos lógicos Tipo Equivalente BCL Tamaño Rango Significado bool System.Boolean 8-bit (1-byte) true o false Verdadero o falso
  • 17. Tipos de Datos C# Enteros decimal 245, [0..9]+ hexadecimal 0xF5, 0x[0..9, A..F, a..f]+ entero largo 12L entero largo sin signo 654UL Coma flotante float 23.5F, 23.5f; 1.72E3F, 1.72E3f, 1.72e3F, 1.72e3f double 23.5, 23.5D, 23.5d, 1.72E3, 1.72E3D decimal 9.95M Caracteres char 'a', 'Z', 'u0231' Cadenas String "Hello, world"; "C:Windows", @"C:Windows"
  • 18. Definir Variables  Declarar una variable: int miNumero; // Declaramos la variable, pero no la inicializamos con ningún valor.  Para asignar un valor a una variable, se indica el identificador de la misma, seguido del símbolo igual (=) y el valor que queremos que almacene: miNumero = 5; // Asignamos el valor '5'.  También se puede declarar y asignar un valor al mismo tiempo: int miNumero = 5; // Declaramos la variable, y asignamos el valor '5'.
  • 19. Conversiones Conversiones de tipo de datos byt e sbyte short ushor t int uint long ulong float doubl e deci mal char bool byte E A A A A A A E E E E I sbyte E A E A E A A E E E E I short E E E A A A A E E E E I ushort E E E A A A A E E E E I int E E E E E A A E E E E I uint E E E E E A A E E E E I long E E E E E E E E E E E I ulong E E E E E E E E E E E I float E E E E E E E E A E I I double E E E E E E E E E E I I decim al E E E E E E E E E E I I
  • 20. Algoritmos C# If-Else if (i == 2) { // ... }else if (i == 3) { // ... }else { // ... } switch switch (i) { case 1: ... break; case 2: case 3: ... break; default: ... break; } for for (int i = 0; i < 10; i++) { // ... } while while (i < 10) { // ... } do-while do { // ... } while (true); foreach foreach (char c in charList) { // ... }
  • 21. Programación orientada a Objetos La POO es un paradigma que utiliza objetos en sus interacciones basado en las técnicas de los pilares Encapsulamiento ,Herencia, Polimorfismo y abstracción.
  • 22. Estructura de una clase C# (Abstracción)
  • 23. Encapsulamiento Es el ocultamiento del estado de un objeto, el cual solo se puede cambiar por medio de métodos públicos establecidos (interfaz pública). Tipos de Acceso: • Private • Public • Protected
  • 24. Herencia y Polimorfismo  La herencia es cuando una clase (Padre) le comparte todos sus métodos, constructores y atributos (públicos) a una clase Hija, la clase padre generalmente es abstracta, por ejemplo:  El polimorfismo ocurre cuando una clase padre tiene una instancia de una clase hija, es muy útil para tratar los objetos de forma homogénea.