Sintaxis de C# (Declaraciones y Tipos)
description
Transcript of Sintaxis de C# (Declaraciones y Tipos)
Sintaxis de C#(Declaraciones y
Tipos)
ContenidoCTS (Common Type System)Tipos en C#Lenguaje C#Características del LenguajeDeclaraciones
CTS (Common Type System)Define un conjunto común de “tipos” de datos orientados a objetosTodo lenguaje de programación .NET debe implementar los tipos definidos por el CTSTodo tipo hereda directa o indirectamente del tipo System.ObjectDefine Tipos de VALOR y de REFERENCIA
CTS: CaracterísticasCada 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.ObjectLos objetos que lanzan un tipo de excepción deben heredar (directa o indirectamente) de System.ExceptionLos tipos declarados en 2 ensamblados distintos, son distintos, aunque tengan el mismo nombre.
Interoperabilidad
Los Tipos de DatosEl 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 (Garbage Collector)Los tipos VALOR se almacenan en el StackLos tipos REFERENCIA se almacenan en el Heap
Tipos de Datos por Valor
Categoría Clase Descripción C# Alias
Enteros Byte Un entero sin signo (8-bit) byte SByte Un entero con signo (8-bit) sbyte Int16 Un entero con signo (16-bit) short Int32 Un entero con signo (32-bit) int Int64 Un entero con signo (64-bit) longPunto Flotante Single
Un número de punto flotante de simple precisión (32-bit) float
DoubleUn número de punto flotante de doble precisión (64-bit) double
Decimal Un número decimal de 96-bit decimalLógicos Boolean Un valor booleano (true o false) boolOtros Char Un caracter Unicode (16-bit) char Object La raíz de la jerarquía de objetos object
StringUna cadena de caracteres unicode inmutable y de tamaño fijo string
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 Tipo por
Referencia
Boxing
Unboxing
Tipos Valor y Ref
C#Lenguaje Creado específicamente para la plataforma .NETEstá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 “;”
int a = 1 + b;
int a = 1 + b;
int a = 1 + b;
int a = 1 + b;
Sintaxis C#Declaración en Bloques en llaves “{}”:
class Programa{ public static void Main(string[] args) {
Console.WriteLine(“Hola Mundo!"); }
}
Sintaxis C#Comentarios en el código:
string nombre = “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>public class Matematica { /// <summary> /// Calcula la suma de dos números enteros /// </summary> /// <param name="x">El primer operando de la suma</param> /// <param name="y">El segundo operando de la suma</param> /// <returns> La suma entera de ambos operandos</returns> public int 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; //INCORRECTOA = 1; //INCORRECTO
int a; //CORRECTOA = 1; //CORRECTO
Sintaxis C#Declaración de variables
int i;decimal d;rectangle r;Persona per;
Sintaxis C#Inicialización de variables
int i; //INCORRECTOSystem.Console.WriteLine(i); //INCORRECTO
int i=0; //CORRECTOSystem.Console.WriteLine(i); //CORRECTO
Sintaxis C#Conversión de Tipos
Cuenta cta = new CtaCte();CtaCte cc = cta; //Error: puede que cta no sea una CtaCteCtaCte cc = (CtaCte)cta; //Conversion explicita “CASTING”CtaCte cc = cta as CtaCte; //Usando el operador “as”
if (cta is CtaCte) ... //Comparación con el operador “is”
Sintaxis C#
RecursosCLS:
http://msdn.microsoft.com/en-us/library/12a7a7h3(VS.80).aspxOverview Tipos de la BCL:
http://msdn.microsoft.com/en-us/library/hfa3fa08(VS.80).aspx• Estándar para C# y CLIhttp://msdn.microsoft.com/en-us/netframework/aa569283.aspx
Referencia C#:http://msdn.microsoft.com/es-es/library/618ayhy6(VS.80).aspx
Gracias por su Atención…
Preguntas??