Latest web development tutorials

C # tipos de dados

Em C #, variáveis ​​são divididos nos seguintes tipos:

  • Tipo de valor (tipos Valor)
  • Tipo de referência (Tipos de referência)
  • tipo de ponteiro (tipos de ponteiro)

Tipo de valor (tipos Valor)

variáveis ​​do tipo valor pode ser atribuído um valor. Eles são derivados doSystem.ValueType classe.

Tipos de valor contêm diretamente dados. Tais comoint, char, float, eles são armazenados números, letras, número de ponto flutuante.Quando você declarar um tipoint, o sistema aloca memória para armazenar o valor.

A tabela a seguir lista os valores disponíveis 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 se ter uma tipo exato ou um tamanho variável em uma plataforma específica, você pode usar o métodosizeof.expressãosizeof (tipo)produzir o tamanho de armazenamento em bytes do objeto de armazenamento ou tipo. Aqui está um exemplo para obter qualquer tipo de armazenamento na máquinaintTamanho:

DataTypeApplication namespace
{
   Programa de classe
   {
      static void Main (string [] args)
      {
         Console.WriteLine ( "Tamanho de int: {0}", sizeof (int));
         Console.ReadLine ();
      }
   }
}

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

Tamanho do int: 4

Tipo de referência (Tipos de referência)

tipo de referência não contém os dados reais são armazenados em uma variável, mas eles contêm referências a variáveis.

Em outras palavras, eles referem-se a uma localização da memória. Ao usar múltiplas variáveis, tipo de referência pode apontar para uma localização de memória. Se a posição de memória de dados é determinada por uma mudança de variável, outras variáveis ​​automaticamente irá reflectir esta mudança de valores.Built-in tipos de referência:objeto, dinâmico estring.

Objeto (Object) Tipo

Objeto tipo (Object) é umsistema de C # tipo genérico (Common Type System - CTS) na classe base final para todos os tipos de dados. Objeto é um alias para a classe System.Object. Assim, o tipo (Object) objeto pode ser atribuído a qualquer outro tipo (tipos de valor, tipos de referência, tipos pré-definidos ou definidos pelo utilizador tipo) valores. No entanto, antes de atribuir um valor, você precisa digitar a conversão.

Quando um tipo de valor ao objeto tipo é chamadode boxe, por outro lado, quando um tipo de objeto para um tipo de valor, ele é chamado unboxing.

objeto obj;
obj = 100; // este é o boxe 

Dinâmico (Dynamic) Tipo

Você pode armazenar qualquer tipo de valor no tipo da variável de dados dinâmica. Essas variáveis ​​são a verificação de tipo ocorre em tempo de execução.

Dinâmica sintaxe tipo de declaração:

dinâmica <variable_name> = value;

Por exemplo:

d dinâmica = 20;

Semelhante tipo de dinâmica de um tipo de objeto, mas o tipo de variável do tipo de objeto de inspeção ocorre em tempo de compilação, verificação de tipo dinâmico e tipo da variável ocorre em tempo de execução.

String (String) Tipo

String (String) Tipo permite atribuir qualquer valor de string para uma variável.String (String) tipo é um alias para a classe System.String. É a partir do objeto (Object) tipo derivado. Valores String (String) tipo pode ser distribuído em duas formas: @ citações e citações.

Por exemplo:

Seqüência str = "w3cschool.cc";

@ Um texto entre aspas:

@ "W3cschool.cc";

C string # na frente da cadeia pode ser adicionado @ (referido como "string literal") vai escapar de caracteres (\) ser tratados como caracteres comuns, tais como:

string str = @"C:\Windows";

É equivalente a:

string str = "C:\\Windows";

@ Corda pode ser usado em qualquer linha, quebras de linha e espaços de recuo são contados no comprimento da corda.

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

tipos de referência definidos pelo usuário: classe, interface ou delegado. Vamos discutir esses tipos em capítulos posteriores.

tipo de ponteiro (tipos de ponteiro)

tipo de ponteiro variável para armazenar outro tipo de endereços de memória. C # e ponteiros em ponteiros C ou C ++ tem a mesma funcionalidade.

Ponteiro sintaxe tipo de declaração:

digite * identificador;

Por exemplo:

char * CPTR;
int * iptr;

Vamos discutir o tipo do ponteiro na seção "Código inseguro".