Latest web development tutorials

C # typy danych

W języku C #, zmienne są podzielone na następujące rodzaje:

  • Wartość Typ (typy value)
  • Typ referencyjny (typy referencyjne)
  • Rodzaj wskaźnika (typy Pointer)

Wartość Typ (typy value)

Zmienne typu wartości można przypisać wartość. Pochodzą one zSystem.ValueType klasy.

Typy wartości bezpośrednio zawierają dane. Takich jakint, char, float, są one przechowywane cyfry, litery, liczby zmiennoprzecinkowej.Kiedy deklarujesz typint, system przydziela pamięć do przechowywania wartości.

Poniższa tabela przedstawia dostępne wartości typu 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

Aby uzyskać dokładny typ lub zmienny rozmiar na danej platformie, można użyć metodysizeof.Wyrażeniesizeof (typ)dają wielkość pamięci w bajtach obiektu przechowywania lub typu. Oto przykład, aby uzyskać dowolny typ pamięci na maszynieintRozmiar:

nazw DataTypeApplication
{
   Program klasy
   {
      static void Main (string [] args)
      {
         Console.WriteLine ( "Wielkość int: {0}", sizeof (int));
         Console.ReadLine ();
      }
   }
}

Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:

Rozmiar int: 4

Typ referencyjny (typy referencyjne)

Typ referencyjny nie zawiera aktualne dane są przechowywane w zmiennej, ale zawierają odniesienia do zmiennych.

Innymi słowy, odnosi się do lokalizacji pamięci. Podczas korzystania z wielu zmiennych, rodzaj odniesienia może wskazywać na miejsce w pamięci. Jeżeli lokacja pamięci danych jest określana poprzez zmianę zmiennych, pozostałe zmienne automatycznie odzwierciedlający zmiany wartości.Wbudowanych typów referencyjnych:Przedmiot, dynamiczny isznurkiem.

Rodzaj obiektu (Object)

Rodzaj obiektu (Object) jest ogólnym systemem typu C # (Common Type System - CTS) w ostatecznej klasy podstawowej dla wszystkich typów danych.Obiekt jest aliasem dla klasy System.Object. Tak Typ obiektu (Object) mogą być przypisane do każdego innego typu (typy wartości, typy referencyjne, predefiniowane typy lub typ zdefiniowany przez użytkownika) wartości. Zanim jednak przypisać wartość, trzeba wpisać konwersję.

Gdy typ wartości do obiektu typu nazywaboks, z drugiej strony, gdy typ obiektu do rodzaju wartości, nazywa unboxing dalej.

object obj;
obj = 100; // to jest boks 

Dynamiczne (Dynamic) Rodzaj

można przechowywać dowolny rodzaj wartości w dynamicznej typu danych zmiennej. Te zmienne są typu kontrola występuje w czasie wykonywania.

Dynamiczny deklaracja typu składni:

Dynamiczny <nazwa_zmiennej> = value;

Na przykład:

Dynamiczny D = 20;

Podobny rodzaj dynamicznego typu obiektu, ale typ zmiennej typu obiektu Kontrola występuje w czasie kompilacji, dynamicznej kontroli typu oraz typ zmiennej pojawia się przy starcie.

String (String) Typ

String (String) Typ pozwala przypisać dowolny ciąg znaków do zmiennej.String (String) typ jest aliasem dla klasy system.string. To od obiektu (Object) RODZAJ pochodzi. Wartości String (String) Typ może być dystrybuowany w dwóch postaciach: @ cytatów i cytatów.

Na przykład:

String str = "w3cschool.cc";

@ Ciąg w cudzysłowach:

@ "W3cschool.cc";

C # łańcuch przed łańcucha może być dodany @ (dalej "dosłownego string") ujdzie znaku (\) są traktowane jako zwykłe postacie, takie jak:

string str = @"C:\Windows";

Jest równoznaczne z:

string str = "C:\\Windows";

@ Ciąg może być stosowany w każdym rzędzie, podziały wiersza i spacje wcięcia są liczone w długości łańcucha.

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

Zdefiniowane przez użytkownika typy referencyjne: klasa, interfejs lub delegata. Omówimy te typy w późniejszych rozdziałach.

Rodzaj wskaźnika (typy Pointer)

typ zmiennej wskaźnik do przechowywania innego rodzaju adresów pamięci. C # i wskaźniki w C lub C ++ wskaźniki mają taką samą funkcjonalność.

Wskaźnik deklaracja typu składni:

wpisz * identyfikator;

Na przykład:

char * cptr;
int * IPTR;

Omówimy typ wskaźnika w dziale "niebezpieczny kod".