Datentypen in C#: Double, Ganzzahl, Float, Char

โšก Intelligente Zusammenfassung

Datentypen in C# definieren die Art der Werte, die eine Variable speichern kann, von ganzen Zahlen und Gleitkommazahlen bis hin zu booleschen Werten und Zeichenketten, und sie bestimmen, wie viel Speicherplatz jede Variable wรคhrend der Programmausfรผhrung reserviert.

  • ๐Ÿ”ข Ganzzahltypen: Das Schlรผsselwort Int32 (int) speichert ganze Zahlen wie 10, 20 oder 30 in einem festen Speicherbereich.
  • ๐Ÿ”ฃ Gleitkommatypen: double und float speichern Dezimalwerte, wobei decimal eine hรถhere Genauigkeit fรผr Finanzberechnungen bietet.
  • โ˜‘๏ธ Boolescher Typ: Das Schlรผsselwort Boolean speichert nur wahr oder falsch und steuert bedingte Logik.
  • ๐Ÿ”ค Textarten: Ein char-Wert speichert ein einzelnes Zeichen, wรคhrend ein string-Wert eine Zeichenkette als Text speichert.
  • ๐Ÿงฉ Wert vs. Referenz: Werttypen speichern Daten direkt, wรคhrend Referenztypen wie String eine Speicheradresse speichern.
  • ๐Ÿค– KI-Unterstรผtzung: GitHub Copilot und ML.NET bringen Codevorschlรคge und maschinelles Lernen in die C#-Typbehandlung.

Datentypen in C#

Was sind Datentypen in C#?

Die C#-Sprache verfรผgt รผber eine Reihe grundlegender Datentypen. Diese Datentypen werden zum Erstellen von Werten verwendet, die innerhalb einer Anwendung verwendet werden. Lassen Sie uns die grundlegenden Datentypen erkunden, die in C# verfรผgbar sind. Fรผr jedes Beispiel รคndern wir nur die Hauptfunktion in unserer Datei Program.cs.

1) Ganzzahl

Ein Integer-Datentyp wird verwendet, um mit Zahlen zu arbeiten. In diesem Fall sind die Zahlen ganze Zahlen wie 10, 20 oder 30. In C# wird der Datentyp durch das Int32-Schlรผsselwort. Nachfolgend finden Sie ein Beispiel dafรผr, wie dieser Datentyp verwendet werden kann. In unserem Beispiel definieren wir eine Int32-Variable namens num. AnschlieรŸend weisen wir der Variablen einen Integer-Wert zu und zeigen ihn entsprechend an.

Ganzzahlige Datentypen in C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 { 
  static void Main(string[] args) 
  {
   Int32 num=30;
   Console.Write(num);  
   
   Console.ReadKey();
  }
 }
}

Code Erlรคuterung:-

  1. Der Datentyp Int32 wird angegeben, um eine Integer-Variable namens num zu deklarieren. Der Variablen wird dann der Wert 30 zugewiesen.
  2. SchlieรŸlich wird die Funktion console.write verwendet, um die Nummer auf der Konsole anzuzeigen.

Wenn der obige Code richtig eingegeben und das Programm erfolgreich ausgefรผhrt wird, wird die folgende Ausgabe angezeigt.

Ausgang:

Ganzzahlige Datentypen in C#

Anhand der Ausgabe kรถnnen Sie deutlich erkennen, dass die Integer-Variable mit dem Namen num in der Konsole angezeigt wurde

2) Double

Der Datentyp โ€ždoubleโ€œ wird fรผr die Arbeit mit Dezimalzahlen verwendet. In diesem Fall handelt es sich um ganze Zahlen wie 10.11, 20.22 oder 30.33. In C# wird der Datentyp durch das Schlรผsselwort โ€žDoubleโ€ž. Unten finden Sie ein Beispiel fรผr diesen Datentyp.

In unserem Beispiel definieren wir eine Double-Variable namens num. Wir weisen dann eine Double Geben Sie einen Wert in die Variable ein und zeigen Sie ihn dann entsprechend an.

Double Datentypen in C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 { 
  static void Main(string[] args) 
  {
   double num=30.33;
   Console.Write(num); 
   
   Console.ReadKey();
  }
 }
}

Code Erlรคuterung:-

  1. Der Double-Datentyp wird angegeben, um einen Double-Typ zu deklarieren Variable namens Num. Der Variablen wird dann der Wert 30.33 zugewiesen.
  2. SchlieรŸlich wird die Funktion console.write verwendet, um die Nummer auf der Konsole anzuzeigen.

Wenn der obige Code richtig eingegeben und das Programm erfolgreich ausgefรผhrt wird, wird die folgende Ausgabe angezeigt.

Ausgang:

Double Datentypen in C#

Anhand der Ausgabe kรถnnen Sie deutlich erkennen, dass die Double-Variable mit dem Namen num in der Konsole angezeigt wurde

3) Boolescher Wert

Ein boolescher Datentyp wird verwendet, um mit booleschen Werten von zu arbeiten richtig und falsch. In C# wird der Datentyp durch das Schlรผsselwort Boolean bezeichnet. Nachfolgend finden Sie ein Beispiel dafรผr, wie dieser Datentyp verwendet werden kann.

In unserem Beispiel definieren wir eine boolesche Variable namens โ€žstatusโ€œ. AnschlieรŸend weisen wir der Variablen einen booleschen Wert zu und zeigen ihn dann entsprechend an.

Boolesche Datentypen in C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
  { 
   static void Main(string[] args) 
   {
    Boolean status=true;
    Console.Write(status);
    
    Console.ReadKey();
   }
  }
}

Code Erlรคuterung:-

  1. Der boolesche Datentyp wird angegeben, um eine boolesche Variable namens โ€žstatusโ€œ zu deklarieren. Der Variablen wird dann der Wert wahr/falsch zugewiesen.
  2. SchlieรŸlich wird die Funktion console.write verwendet, um den booleschen Wert auf der Konsole anzuzeigen.

Wenn der obige Code richtig eingegeben und das Programm erfolgreich ausgefรผhrt wird, wird die Ausgabe angezeigt.

Ausgang:

Boolesche Datentypen in C#

Anhand der Ausgabe kรถnnen Sie deutlich erkennen, dass die Boolesche Variable, die true ergibt, in der Konsole angezeigt wurde

4) Zeichenfolge

Fรผr die Arbeit mit String-Werten wird ein String-Datentyp verwendet. In C# wird der Datentyp durch das Schlรผsselwort โ€žStringโ€œ bezeichnet. Unten finden Sie ein Beispiel fรผr diesen Datentyp.

In unserem Beispiel definieren wir eine String-Variable namens โ€žmessageโ€œ. AnschlieรŸend weisen wir der Variablen einen String-Wert zu und zeigen ihn dann entsprechend an.

String-Datentypen in C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class program
 {
  static void Main(string[] args)
  {
   String message="Hello";
   Console.Write(message);
   
   Console.ReadKey();
  }
 }
}

Code Erlรคuterung:-

  1. Der String-Datentyp wird angegeben, um eine String-Variable namens message zu deklarieren. Der Variablen wird dann der Wert โ€žHalloโ€œ zugewiesen.
  2. SchlieรŸlich wird die Funktion console.write verwendet, um den String-Wert auf der Konsole anzuzeigen.

Wenn der obige Code richtig eingegeben und das Programm erfolgreich ausgefรผhrt wird, wird die Ausgabe angezeigt.

Ausgang:

String-Datentypen in C#

Anhand der Ausgabe kรถnnen Sie deutlich erkennen, dass die String-Variable mit dem Namen message in der Konsole angezeigt wurde

Vollstรคndige Liste der C#-Datentypen

Die vier obigen Beispiele decken die gรคngigsten Datentypen ab, aber C# bietet eine vollstรคndige Palette an integrierten Wertdatentypen. Jeder Typ reserviert eine feste Speichermenge und akzeptiert einen bestimmten Wertebereich. Daher gewรคhrleistet die Wahl des kleinsten Typs, der Ihre Daten sicher aufnehmen kann, die Effizienz Ihres Programms.

Dateityp GrรถรŸe Reichweite / DescriptIon
Byte 1 Bytes 0 bis 255
kurz 2 bytes -32,768 um 32,767
int (Int32) 4 bytes -2,147,483,648 um 2,147,483,647
lange 8 bytes Sehr groรŸe ganze Zahlen (ยฑ9.2 Trillionen)
schweben 4 bytes Dezimalzahlen mit ungefรคhr 6โ€“7 Stellen Genauigkeit
doppelt 8 bytes Dezimalzahlen mit ungefรคhr 15โ€“16 Stellen Genauigkeit
dezimal 16 bytes Hochprรคzise Dezimalzahlen (28โ€“29 Stellen) fรผr Geld
verkohlen 2 bytes Ein einzelnes Unicode-Zeichen
bool 1 Bytes richtig oder falsch

Neben diesen Werttypen ist der String-Typ der am hรคufigsten verwendete Referenztyp und speichert eine Zeichenfolge beliebiger Lรคnge. Die Wahl eines geeigneten Typs verhindert รœberlauffehler und unnรถtigen Speicherverbrauch.

Werttypen vs. Referenztypen in C#

Jeder C#-Datentyp lรคsst sich in eine von zwei Gruppen einteilen: Werttypen und Referenztypen. Diese Unterscheidung bestimmt, wie C# die Daten speichert und wie sich eine Variable verhรคlt, wenn man sie kopiert oder an eine Methode รผbergibt.

  • Werttypen: Diese speichern die eigentlichen Daten direkt, รผblicherweise auf dem Stack. int, double, bool, char, enum`struct` und `struct` sind Werttypen. Die Zuweisung einer Variablen zu einer anderen kopiert den Wert, sodass die beiden Variablen unabhรคngig bleiben.
  • Referenztypen: Diese speichern eine Referenz (eine Speicheradresse), die auf Daten im Heap verweist. Zeichenketten, Objekte, Arrays und Klasseninstanzen sind Referenztypen. Beim Kopieren einer Referenzvariablen wird nur die Adresse kopiert, sodass beide Variablen auf dasselbe Objekt verweisen.

Eine Wertvariable kann niemals null sein, da sie immer einen Wert enthรคlt, wรคhrend eine nicht initialisierte Referenzvariable standardmรครŸig null ist. Das Verstรคndnis dieses Unterschieds hilft Ihnen vorherzusagen, wie Datenรคnderungen durch ein Programm flieรŸen.

Typkonvertierung in C#

In C# ist es hรคufig erforderlich, Werte von einem Datentyp in einen anderen zu konvertieren, beispielsweise Benutzereingaben, die immer Text sind, in Zahlen umzuwandeln. Dieser Vorgang wird als Typkonvertierung bezeichnet und erfolgt im Wesentlichen auf drei Arten.

  • Implizite Konvertierung: Der Compiler fรผhrt die Konvertierung automatisch durch, wenn kein Datenverlustrisiko besteht, beispielsweise bei der Zuweisung eines Integers zu einem Double. Es ist keine spezielle Syntax erforderlich.
  • Explizite Konvertierung (Casting): Sie setzen den Zieltyp in Klammern, zum Beispiel (int)myDoubleBeim Casten kรถnnen Daten verloren gehen โ€“ beim Konvertieren eines Double in einen Integer geht der Dezimalteil verloren โ€“ daher nimmt man dieses Risiko bewusst in Kauf.
  • Hilfsmethoden: Die Convert-Klasse (Convert.ToInt32) und die Parse-Methode jedes Typs (int.Parse) wandeln Zeichenketten in Zahlen um, wรคhrend ToString Werte wieder in lesbaren Text umwandelt.

Die Wahl der richtigen Konvertierung gewรคhrleistet die Genauigkeit der Daten und verhindert Laufzeitfehler, die auftreten kรถnnen, wenn die Datentypen auf beiden Seiten einer Zuweisung nicht รผbereinstimmen.

Hรคufig gestellte Fragen

float, double und decimal speichern alle Dezimalzahlen, unterscheiden sich aber in Genauigkeit und GrรถรŸe. float verwendet 4 Byte mit etwa 7 Stellen, double verwendet 8 Byte mit etwa 15 Stellen und decimal verwendet 16 Byte fรผr hochprรคzise Finanzwerte.

Es gibt keinen wirklichen Unterschied. `int` ist ein C#-Alias โ€‹โ€‹fรผr den .NET-Typ `System.Int32`, daher werden `int` und `Int32` zu exakt demselben Ergebnis kompiliert. Die meisten Entwickler schreiben `int` aus Grรผnden der Kรผrze, wรคhrend `Int32` den zugrunde liegenden Framework-Typ explizit angibt.

Strings sind Referenztypen, da sie eine Referenz auf Zeichendaten im Heap speichern. In einer Hinsicht verhalten sie sich jedoch wie Werttypen: Strings sind unverรคnderlich, sodass jede ร„nderung ein neues String-Objekt erzeugt, anstatt das alte zu bearbeiten.

Ein Nullable-Typ ermรถglicht es einem Werttyp wie int oder bool, auch Nullwerte aufzunehmen, die mit einem nachfolgenden Fragezeichen geschrieben werden, z. B. int?. Er ist nรผtzlich fรผr optionale Daten und Datenbankfelder, bei denen ein fehlender Wert deutlich von Null oder Falsch unterschieden werden muss.

Ein char speichert genau ein Unicode-Zeichen und wird in einfache Anfรผhrungszeichen gesetzt, z. B. 'A'. Ein string speichert eine Folge von null oder mehr Zeichen und wird in doppelte Anfรผhrungszeichen gesetzt. Ein char ist ein Werttyp, ein string hingegen ein Referenztyp.

`var` leitet den Typ einer Variablen zur Kompilierzeit ab, und dieser Typ wird anschlieรŸend mit voller IntelliSense-Unterstรผtzung festgelegt. `dynamic` verschiebt die Typprรผfung auf die Laufzeit, sodass Typfehler erst wรคhrend der Ausfรผhrung auftreten. Verwenden Sie `var` fรผr mehr Sicherheit und `dynamic` fรผr flexible Szenarien mit spรคter Typbindung.

Ja. GitHub Copilot schlรคgt Typdeklarationen, Konvertierungen und Boilerplate-Code innerhalb von Visual Studio vor und Visual Studio CodeEs kann einen geeigneten numerischen Datentyp empfehlen oder Parsing-Code generieren, aber Sie sollten die Ausgabe รผberprรผfen, da die Vorschlรคge Ungenauigkeiten oder รœberlaufprobleme aufweisen kรถnnen.

Ja. ML.NET ordnet C#-Datentypen Modellmerkmalen zu und verwendet dabei numerische Typen wie float und double fรผr Trainingsdaten und string fรผr Text. Stark typisierte Datenklassen beschreiben jede Spalte, sodass sich Modelle des maschinellen Lernens nahtlos in C#-Anwendungen integrieren lassen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: