220 likes | 620 Views
Sintaxis de C# (Declaraciones y Tipos). Contenido. CTS ( Common Type System ) Tipos en C# Lenguaje C# Características del Lenguaje Declaraciones. CTS (Common Type System). Define un conjunto común de “tipos” de datos orientados a objetos
E N D
Contenido • CTS (CommonTypeSystem) • Tipos en C# • Lenguaje C# • Características del Lenguaje • Declaraciones
CTS (Common Type System) • Define un conjunto común de “tipos” de datos orientados a objetos • Todo lenguaje de programación .NET debe implementar los tipos definidos por el CTS Todo tipo hereda directa o indirectamente del tipo System.Object Define Tipos de VALOR y de REFERENCIA
CTS: Características • Cada tipo puede tener cero o mas miembros (campo, método, propiedad, evento). • No puede existir la herencia Múltiple. • Todo Tipo hereda directa o indirectamente del tipo System.Object • Los objetos que lanzan un tipo de excepción deben heredar (directa o indirectamente) de System.Exception • Los tipos declarados en 2 ensamblados distintos, son distintos, aunque tengan el mismo nombre.
Los Tipos de Datos • El CLR administra dos segmentos de memoria: Stack (Pila) y Heap (Montón) • El Stack es liberado automáticamente y el Heap es administrado por el GC (GarbageCollector) Los tipos VALOR se almacenan en el Stack Los tipos REFERENCIA se almacenan en el Heap
Conversión de tipos por Valor y Referencia • Para poder convertir tipos por valor a referencia y viceversa se utiliza una técnica conocida como: • BOXING: Convierte un tipo por valor a uno por referencia. • UNBOXING: Convierte un tipo por referencia a un tipo por valor. Tipo por Valor Boxing Tipo por Referencia Unboxing
C# • Lenguaje Creado específicamente para la plataforma .NET • Estándar ECMA (Ecma-334). • Orientado a Objetos y Componentes. • Soporta todas las características de la POO: • Abstracción • Encapsulación. • Herencia. • Polimorfismo. • Sintaxis derivada de C, C++, Delphi y Java.
Sintaxis C# • Terminación de Línea, es con un “;” inta = 1 + b; inta = 1 + b; inta = 1 + b; inta = 1 + b;
Sintaxis C# • Declaración en Bloques en llaves “{}”: classPrograma{ publicstatic void Main(string[] args) { Console.WriteLine(“HolaMundo!"); } }
Sintaxis C# • Comentarios en el código: stringnombre = “Juan”;// Comentario de una sola línea /* Comentario con mas de una línea*/ /// <summary> ///Documentación XML que puede ser consumida por otras /// herramientas para mostrar ayuda dinámica o generar /// documentación en varios formatos /// </summary> publicclassMatematica { /// <summary> ///Calcula la suma de dos números enteros ///</summary> ///<paramname="x">El primer operando de la suma</param> ///<paramname="y">El segundo operando de la suma</param> ///<returns> Lasuma entera de ambos operandos</returns> publicint Sumar (int x, int y) {return x + y;} }
Sintaxis C# • C# es un lenguaje “case-sensitive” system.console.writeline(“HOLA”); //INCORRECTO System.Console.WriteLine(“HOLA”); //CORRECTO int a; //INCORRECTO A = 1; //INCORRECTO int a; //CORRECTO A = 1; //CORRECTO
Sintaxis C# • Declaración de variables inti; decimal d; rectangle r; Persona per;
Sintaxis C# • Inicialización de variables inti; //INCORRECTO System.Console.WriteLine(i); //INCORRECTO inti=0; //CORRECTO System.Console.WriteLine(i); //CORRECTO
Sintaxis C# • Conversión de Tipos Cuentacta = new CtaCte(); CtaCte cc = cta; //Error: puedequecta no sea unaCtaCte CtaCte cc = (CtaCte)cta; //Conversion explicita “CASTING” CtaCte cc = ctaasCtaCte; //Usando el operador “as” if (ctaisCtaCte) ... //Comparación con el operador “is”
Recursos • CLS: http://msdn.microsoft.com/en-us/library/12a7a7h3(VS.80).aspx • Overview Tipos de la BCL: http://msdn.microsoft.com/en-us/library/hfa3fa08(VS.80).aspx • Estándar para C# y CLI http://msdn.microsoft.com/en-us/netframework/aa569283.aspx • Referencia C#: http://msdn.microsoft.com/es-es/library/618ayhy6(VS.80).aspx
Gracias porsuAtención… Preguntas??