Welche Datentypen gibt es in C#

Welche Datentypen Gibt Es In C



Datentypen sind ein wichtiger Aspekt jeder Programmiersprache, und C# bietet mehrere Datentypen, die zum Deklarieren von Variablen, Definieren von Methoden und Erstellen von Objekten verwendet werden. In diesem Artikel besprechen wir die verschiedenen Datentypen in C# und ihre Unterkategorien, einschließlich Wert-, Referenz- und Zeigerdatentypen.

Welche Datentypen gibt es in C#?

C# ist ein stark typisierte Programmiersprache , was bedeutet, dass alle Variablen mit einem bestimmten Datentyp deklariert werden müssen, und hat drei Hauptkategorien von Datentypen:







1: Wertdatentypen

Wertdatentypen sind solche, die ihre Werte direkt im Arbeitsspeicher speichern. Sie werden auf dem Stack allokiert und oft zum Speichern kleiner Datensätze verwendet. Im Folgenden sind die Unterkategorien von Wertdatentypen aufgeführt:



Numerischer Datentyp



Diese Datentypen werden zum Speichern numerischer Werte verwendet. Numerische Datentypen sind in mehrere Unterkategorien unterteilt, z. B. Dezimalzahlen, Ganzzahlen und Gleitkommazahlen:





  • Ganze Zahlen: Diese Datentypen werden zum Speichern ganzer Zahlen verwendet, und die Unterkategorien von ganzen Zahlen umfassen sbyte, byte, short, ushort, int, uint, long und ulong. Der Wertebereich, den jedes ganzzahlige Datenformat enthalten kann, variiert.
  • Gleitkommazahlen: Diese Datentypen werden zum Speichern von Dezimalzahlen verwendet, und die Unterkategorien von Gleitkommazahlen umfassen Float und Double. Float kann bis zu 7 Dezimalstellen speichern, während Double bis zu 15 Dezimalstellen speichern kann.
  • Dezimalstellen: Diese Datentypen werden verwendet, um hochpräzise Dezimalzahlen zu speichern. Dezimal kann bis zu 28 Dezimalstellen speichern.

Boolescher Datentyp

In dieser Form von Daten werden boolesche Werte gespeichert, die nur wahr oder falsch sein können.



Zeichendatentyp

Mit diesem Datentyp werden einzelne Zeichen gespeichert.

Beispiel

Der folgende Beispielcode veranschaulicht, wie der Wertdatentyp in C# verwendet wird:

mit System;

Namespace ValueDataTypesExample
{
Klasse Programm
{
statische Leere Main ( Schnur [ ] Argumente )
{
int meinInt = 5 ;
Schwimmer myFloat = 3.14f;
double myDouble = 3.14159265359 ;
bool myBool = WAHR ;
char myChar = 'A' ;

Console.WriteLine ( 'Mein ganzzahliger Wert ist: ' + meinInt ) ;
Console.WriteLine ( 'Mein Float-Wert ist: ' + myFloat ) ;
Console.WriteLine ( 'Mein doppelter Wert ist: ' + meinDouble ) ;
Console.WriteLine ( 'Mein boolescher Wert ist: ' + meinBool ) ;
Console.WriteLine ( 'Mein Charakterwert ist: ' + meinChar ) ;
}
}
}

In diesem Beispiel haben wir Variablen mit unterschiedlichen Wertdatentypen wie int, float, double, bool und char deklariert und initialisiert. Wir haben dann die Werte dieser Variablen mit der Console.WriteLine-Methode ausgedruckt, die Ausgabe dieses Programms lautet:

2: Referenzdatentypen

Referenzdatentypen sind solche, die einen Verweis auf den Speicherort speichern, an dem der Wert gespeichert ist. Sie werden auf dem Heap allokiert und in der Regel zum Speichern größerer Datenmengen verwendet. Im Folgenden sind die Unterkategorien von Referenzdatentypen aufgeführt:

Klasse

In C# ist eine Klasse ein Referenztyp, der einen Entwurf zum Erstellen von Objekten definiert.

Schnur

Dieser Referenzdatentyp wird zum Speichern von Textdaten verwendet, der String ist ein Referenztyp, verhält sich aber in vielerlei Hinsicht wie ein Werttyp.

Array

Mit diesem Datentyp kann eine Sammlung gleichartiger Werte gespeichert werden. Arrays sind Referenztypen, können sich aber in bestimmten Fällen auch wie Werttypen verhalten.

Schnittstelle

Eine Schnittstelle definiert eine Reihe von Methoden, Eigenschaften, Ereignissen und Indexern, ohne Implementierungsdetails bereitzustellen.

Delegieren

Ein Delegat ermöglicht es Ihnen, eine Methode als Argument an eine andere Methode zu übergeben und diese Methode später über den Delegaten aufzurufen.

Beispiel

Hier ist ein C#-Beispielcode, der die Verwendung zeigt Referenzdatentypen :

mit System;

Klasse Person
{
öffentlicher String Name;
public int Alter;
}

Klasse Programm
{
statische Leere Main ( Schnur [ ] Argumente )
{
Person person1 = neue Person ( ) ;
person1.Name = 'SICH SELBST' ;
person1.Alter = zwanzig ;

Person Person2 = Person1;
person2.Alter = 30 ;

Console.WriteLine ( Person1.Name + ' Ist ' + Person1.Alter + 'Jahre alt.' ) ;
Console.WriteLine ( Person2.Name + ' Ist ' + Person2.Alter + 'Jahre alt.' ) ;
}
}

Die Person-Klasse in diesem Beispiel hat zwei öffentliche Felder: Name, das vom Typ string ist, und Age, das vom Typ int ist. Dann erstellen wir eine neue Instanz der Person-Klasse und weisen sie person1 in der Main-Methode zu. Wir ändern die Namens- und Altersattribute von Person1.

Als nächstes erstellen wir eine weitere Referenzvariable person2 und weisen ihr den Wert von person1 zu. Dann ändern wir die Age-Eigenschaft von person2 auf 30.

Schließlich drucken wir den Namen und das Alter von Person1 und Person2 aus. Beachten Sie, dass das Ändern des Werts von Person2.Alter ändert auch den Wert von Person1.Alter , da beide Variablen auf dasselbe verweisen Objekt in Erinnerung.

3: Zeigerdatentypen

Pointer-Datentypen werden zum Speichern der Speicheradresse einer anderen Variablen verwendet. Sie werden in der Low-Level-Programmierung verwendet, z. B. bei der Programmierung auf Systemebene oder der Entwicklung von Gerätetreibern . In C# werden Zeigerdatentypen nicht direkt verwendet , aber sie können in unsicheren Codeblöcken verwendet werden. Das Folgende ist die Unterkategorie der Zeigerdatentypen:

Zeigerdatentyp

Dieser Datentyp wird zum Speichern der Speicheradresse einer anderen Variablen verwendet.

Hier ist ein Beispiel, das die Verwendung von demonstriert Zeigerdatentypen in C#, obwohl es viel Sorgfalt erfordert:

mit System;

Klasse Programm {
statisch unsicher void Main ( ) {
int Zahl = 10 ;
int * p = & Auf eins;
Console.WriteLine ( $ 'Wert von num: {num}' ) ;
Console.WriteLine ( $ 'Adresse von num: {(long)p:X}' ) ;
Console.WriteLine ( $ 'Wert von num mit Zeiger: {*p}' ) ;
Console.ReadLine ( ) ;
}
}

In diesem Beispiel verwenden wir das Schlüsselwort unsafe, um die Verwendung von Zeigern zuzulassen. Wir deklarieren eine Variable vom Typ int und geben ihr den Wert 10. Dann erstellen wir eine Zeigervariable pointer vom Typ int* und weisen ihr mit dem &-Operator die Speicheradresse des Wertes zu.

Außerdem greifen wir dann auf den in value gespeicherten Wert zu, indem wir den Zeiger mit dem Operator * dereferenzieren, und wir können den Wert auch mit demselben Operator ändern:

Notiz: Die Verwendung von Zeigern in C# erfordert besondere Sorgfalt und Aufmerksamkeit, um Probleme bei der Speicherverwaltung zu vermeiden, daher sollten sie nur bei Bedarf und mit Vorsicht verwendet werden.

Abschluss

In C# sind viele verschiedene Datentypen verfügbar, die für verschiedene Aufgaben verwendet werden können. Kleinere Datenmengen werden mit Wertdatentypen und größere Datenmengen mit Referenzdatentypen gespeichert. Zeigerdatentypen werden in der Low-Level-Programmierung verwendet und werden in C# nicht häufig verwendet.