Latest web development tutorials

tipos de datos de C #

En C #, las variables se dividen en los siguientes tipos:

  • Tipo de valor (Los tipos de valor)
  • Tipo de referencia (Tipos de referencia)
  • tipo de puntero (tipos de puntero)

Tipo de valor (Los tipos de valor)

Las variables de tipo valor se puede asignar un valor. Se derivan de laSystem.ValueType clase.

Los tipos de valor contienen los datos directamente. Comoint, char, float, se trata de números, letras, número de coma flotante almacenan.Cuando se declara un tipoint, el sistema asigna memoria para almacenar el valor.

La siguiente tabla muestra los valores disponibles Tipo C # 2010:

类型描述范围默认值
bool布尔值True 或 FalseFalse
byte8 位无符号整数0 到 2550
char16 位 Unicode 字符U +0000 到 U +ffff'\0'
decimal128 位精确的十进制值,28-29 有效位数(-7.9 x 10 28 到 7.9 x 10 28 ) / 10 0 到 28 0.0M
double64 位双精度浮点型(+/-)5.0 x 10 -324 到 (+/-)1.7 x 10 308 0.0D
float32 位单精度浮点型-3.4 x 10 38 到 + 3.4 x 10 38 0.0F
int32 位有符号整数类型-2,147,483,648 到 2,147,483,6470
long64 位有符号整数类型-923,372,036,854,775,808 到 9,223,372,036,854,775,807 0L
sbyte8 位有符号整数类型-128 到 1270
short16 位有符号整数类型-32,768 到 32,7670
uint32 位无符号整数类型0 到 4,294,967,2950
ulong64 位无符号整数类型0 到 18,446,744,073,709,551,6150
ushort16 位无符号整数类型0 到 65,5350

Para obtener un tipo exacto o un tamaño variable en una plataforma en particular, se puede utilizar el métodosizeof.expresiónsizeof (tipo)producen el tamaño de almacenamiento en bytes del objeto de almacenamiento o tipo. He aquí un ejemplo para obtener cualquier tipo de almacenamiento en la máquinaintTamaño:

DataTypeApplication espacio de nombres
{
   Programa de clases
   {
      static void main (String [] args)
      {
         Console.WriteLine ( "Tamaño del int: {0}", sizeof (int));
         Console.ReadLine ();
      }
   }
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Tamaño de int: 4

Tipo de referencia (Tipos de referencia)

tipo de referencia no contiene los datos reales se almacena en una variable, pero contiene referencias a variables.

En otras palabras, se refieren a una ubicación de memoria. Cuando se utilizan múltiples variables, el tipo de referencia puede apuntar a una ubicación de memoria. Si la posición de memoria de datos se determina por un cambio de variable, otras variables reflejarán automáticamente el cambio en los valores.Incorporado en lostipos dereferencia:objeto, dinámico ycadena.

Objeto (Object) Tipo

Tipo del objeto (objeto) es unsistema de C # tipo genérico (Common Type System - CTS) en la clase base definitiva para todos los tipos de datos. Objeto es un alias para la clase System.Object. Así que el tipo (Object) objeto puede ser asignado a cualquier otro tipo (tipos de valores, tipos de referencia, los tipos predefinidos o definidos por el usuario) Tipo de valores. Sin embargo, antes de asignar un valor, tiene que escribir la conversión.

Cuando un tipo de valor de tipo de objeto se llamael boxeo, por el otro lado, cuando un tipo de objeto a un tipo de valor, se llama unboxing.

objeto obj;
obj = 100; // esto es el boxeo 

Dinámica (Dynamic) Tipo

Se puede almacenar cualquier tipo de valor en el tipo de datos dinámico de la variable. Estas variables son verificación de tipos en tiempo de ejecución.

sintaxis de declaración de tipo dinámico:

dinámica valor <variable_name> =;

Por ejemplo:

dinámica d = 20;

tipo dinámico similar de un tipo de objeto, pero el tipo de variable de tipo objeto de inspección se produce en tiempo de compilación, comprobación dinámica y el tipo de la variable se produce en tiempo de ejecución.

Tipo cadena (string)

Tipo cadena (string) le permiteasignar cualquier valor de cadena a una variable. Tipo cadena (string) es un alias para la clase System.String. Es a partir del objeto (Object) tipo derivado. Los valores de cadena tipo (String) puede ser distribuido en dos formas: @ citas y citas.

Por ejemplo:

String str = "w3cschool.cc";

@ Una cadena entre comillas:

@ "W3cschool.cc";

C # cuerda delante de la cadena se puede añadir @ (referido como "cadena literal") se carácter de escape (\) ser tratado como caracteres ordinarios, tales como:

string str = @"C:\Windows";

Es equivalente a:

string str = "C:\\Windows";

@ Cadena se puede utilizar en cualquier fila, saltos de línea y espacios de indentación se cuentan en la longitud de la cadena.

string str = @"<script type=""text/javascript"">
    <!--
    -->
    </script>";

tipos de referencia definidos por el usuario: clase, interfaz o delegado. Vamos a discutir este tipo en los últimos capítulos.

tipo de puntero (tipos de puntero)

tipo de puntero variable para almacenar otro tipo de direcciones de memoria. C # y punteros en los punteros de C o C ++ tienen la misma funcionalidad.

Puntero sintaxis de declaración de tipo:

escriba * identificador;

Por ejemplo:

char * cptr;
int * FPR;

Vamos a discutir el tipo del puntero en la sección "código no seguro".