Latest web development tutorials

C # Datentypen

In C # werden Variablen in folgende Typen unterteilt:

  • Werttyp (Werttypen)
  • Referenz-Typ (Referenztypen)
  • Pointer-Typ (Pointer-Typen)

Werttyp (Werttypen)

Werttyp Variablen ein Wert zugewiesen werden. Sie sind aus der KlasseSystem.ValueType abgeleitet.

Werttypen enthalten Daten direkt. Wieint, char, float, werden sie Nummern gespeichert, Buchstaben, Fließkommazahl.Wenn Sie einen Typint deklarieren, ordnet der Systemspeicher den Wert zu speichern.

In der folgenden Tabelle sind die Werte verfügbar Typ 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

Um eine genaue Art oder eine variable Größe auf einer bestimmten Plattform zu erhalten, können Siesizeof - Methode verwenden.Expressionsizeof (Typ), in Byte Speicherplatz Objekt oder Typ Speichergröße. Hier ist ein Beispiel jede Art von Speicher auf der MaschineintGröße zu erhalten:

Namespace DataTypeApplication
{
   Klasse-Programm
   {
      static void Main (string [] args)
      {
         Console.WriteLine ( "Größe von int: {0}", sizeof (int));
         Console.ReadLine ();
      }
   }
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:

Größe des int: 4

Referenz-Typ (Referenztypen)

Referenztyp enthält nicht die tatsächlichen Daten in einer Variablen gespeichert, aber sie enthalten Verweise auf Variablen.

Mit anderen Worten, sie beziehen sich auf einen Speicherplatz. Wenn mehrere Variablen verwenden, können Referenztyp auf einen Speicherort verweisen. Wenn der Datenspeicherstelle durch eine Veränderung der Variablen bestimmt wird, werden andere Variablen automatisch diese Änderung der Werte widerspiegeln.Built-in Referenz - Typen:Objekt, dynamisch undString.

Object (Objekt) Typ

Object (Objekt) Typ ist eingenerisches C # Typsystem (Common Type System - CTS) in die ultimative Basisklasse für alle Datentypen. Das Objekt ist ein Alias ​​für System.Object-Klasse. Also das Objekt (Object) Typ kann auf jede andere Art (Werttypen, Referenztypen vordefinierten Typen oder benutzerdefinierten Typ) Werte zugewiesen werden. Bevor Sie jedoch einen Wert zuweisen, müssen Sie Konvertierung eingeben.

Wenn ein Werttyp Typ Objekt istBoxen genannt, auf der anderen Seite, wenn ein Objekttyp auf einen Wert Typ, es Unboxinggenanntwird.

Objekt obj;
100 obj =; // Das ist Boxen 

Dynamisch (Dynamic) Art

Sie können jede Art von Wert speichern in der dynamischen Datentyp der Variablen. Diese Variablen sind die Typprüfung zur Laufzeit auftritt.

Dynamische Typdeklaration Syntax:

dynamische <variable_name> = Wert;

Zum Beispiel:

dynamische d = 20;

Ähnliche dynamischen Typ eines Objekttyps, sondern die Art der Variable vom Typ Prüfobjekt tritt bei der Kompilierung, dynamische Typprüfung und Typ der Variablen erfolgt zur Laufzeit.

String (String) Typ

String (String) Typ ermöglicht es Ihnen , eine beliebige Zeichenfolge Wert einer Variablen zugewiesen werden soll .String (String) Typ ist ein Alias ​​für System.String-Klasse. Es ist von dem Objekt (Object) abgeleiteten Typ. Werte Zeichenfolge (String) Typ kann in zwei Formen verteilt werden: @ Zitate und Zitate.

Zum Beispiel:

String str = "w3cschool.cc";

@ A String in Anführungszeichen:

@ "W3cschool.cc";

C # Zeichenfolge vor dem String kann @ hinzugefügt werden (bezeichnet als "wörtlich string") wird als Escape-Zeichen (\) als gewöhnliche Zeichen behandelt werden, wie zum Beispiel:

string str = @"C:\Windows";

Ist äquivalent zu:

string str = "C:\\Windows";

@ String kann in jeder Zeile, Zeilenumbrüche und Einzüge Räumen verwendet werden sind in der Länge des Strings gezählt.

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

Benutzerdefinierte Referenztypen: Klasse, Interface oder delegieren. Wir werden diese Typen in späteren Kapiteln besprechen.

Pointer-Typ (Pointer-Typen)

Zeigertyp Variable eine andere Art von Speicheradressen zu speichern. C # und Zeiger in C oder C ++ Zeiger haben die gleiche Funktionalität.

Pointer Typdeklaration Syntax:

Typ * Kennung;

Zum Beispiel:

char * TKP;
int * iptr;

Wir werden die Art des Zeigers im Abschnitt "Unsafe-Code" zu diskutieren.