jueves, 11 de febrero de 2010

Tipos

El sistema de tipos de C# contiene las siguientes categorías:

Tipos de valor

Tipos de referencia

Tipos de puntero


Las variables de los tipos de valor almacenan datos, mientras que los tipos de referencia almacenan referencias a los datos reales. Los tipos de referencia también se denominan objetos. Los tipos de puntero sólo se pueden utilizar en modo unsafe.

Un tipo de valor se puede convertir en un tipo de referencia y de nuevo en un tipo de valor mediante boxing y unboxing. No se puede convertir un tipo de referencia en un tipo de valor, excepto en tipos de valor a los que se les ha aplicado una conversión boxing.

Los tipos de valor también aceptan valores null, por tanto pueden almacenar un estado sin valor de suma. Para obtener más información, vea Tipos que aceptan valores NULL.

Tipos de valores
bool
byte
char
decimal
double
enum
float
int
long
sbyte
short
struct
uint
ulong
ushort

Los tipos de valor consisten en dos categorías principales:

Estructuras

Enumeraciones

Las estructuras se dividen en las siguientes categorías:

Tipos numéricos

Tipos integrales

Tipos de punto flotante

decimal

bool

Estructuras definidas por el usuario.

Características principales de los tipos de valor
Variable que está basada directamente en tipos de valor que contienen valores. La asignación de una variable de tipo de valor a otra copia el valor contenido. Esto es diferente de la asignación de variables de tipo de referencia, que copia una referencia en el objeto pero no el propio objeto.

Todos los tipos de valor se derivan implícitamente de la clase System.ValueType.

A diferencia de los tipos de referencia, no es posible obtener un nuevo tipo de un tipo de valor. No obstante, al igual que los tipos de referencia, las estructuras pueden implementar interfaces.

A diferencia de los tipos de referencia, los tipos de valor no pueden incluir el valor null. Sin embargo, la característica tipos que aceptan valores NULL permite asignar null a tipos de valores.

Cada tipo de valor tiene un constructor implícito predeterminado que inicializa el valor predeterminado de ese tipo. Para obtener información sobre los valores predeterminados de los tipos de valor, vea Tabla de valores predeterminados.

Características principales de los tipos simples
Todos los tipos simples (aquellos que forman parte integral del lenguaje C#) son alias de los tipos del sistema .NET Framework. Por ejemplo, int es un alias de System.Int32.

Las expresiones constantes, cuyos operandos son todos constantes de tipos simples, se evalúan en tiempo de compilación.

Los tipos simples se pueden inicializar mediante literales. Por ejemplo, 'A' es un literal del tipo char y 2001 es un literal del tipo int.


Inicializar tipos de valor
Las variables locales de C# se deben inicializar antes de utilizarlas. Por consiguiente, si se declara una variable local sin inicialización como ésta:

int myInt;

no se podrá utilizar hasta que se inicialice. La inicialización se puede realizar mediante la siguiente instrucción:

myInt = new int(); //Invoca el constructor por defecto de un tipo int.

que equivale a:

myInt = 0; // Asigna un valor inicial, 0 en este caso.

También se puede realizar la declaración y la inicialización en la misma instrucción:

int myInt = new int();

O bien

int myInt = 0;

Con el operador new, se realiza una llamada al constructor predeterminado del tipo específico y se asigna el valor predeterminado a la variable. En el ejemplo anterior, el constructor predeterminado asigna a myInt el valor 0. Para obtener más información sobre valores asignados mediante constructores predeterminados.

Con los tipos definidos por el usuario, se utiliza new para invocar el constructor predeterminado. Por ejemplo, la siguiente instrucción invoca el constructor predeterminado de la estructura Point:

Point p = new Point(); // Invoca el constructor por defecto para la estructura.

Después de esta llamada, la estructura se considera definitivamente asignada; es decir, todos sus miembros se inicializan con sus valores predeterminados.

Tipos de referencia
Las variables de tipos de referencia, conocidas como objetos, almacenan referencias a los datos reales. Esta sección presenta las palabras clave siguientes utilizadas para declarar tipos de referencia:

class

interface

delegate


Esta sección también presenta los siguientes tipos de referencia integrados:

object

string

No hay comentarios.:

Publicar un comentario

Preguntas;Comentarios;Aportes;Criticas Positivas;Recomendaciones.