Zum Hauptinhalt springen

Struct

Eine struct (Struktur)ist eine benutzerdefinierte Datenstruktur, die dazu verwendet wird, Gruppen von verwandten Datenfeldern zu erstellen. Im Gegensatz zu Klassen sind Strukturen Werttypen und haben einige Vorteile:

  1. Leichtgewicht: Strukturen sind in der Regel leichter als Klassen, da sie auf dem Stack-Speicher gespeichert werden. Dadurch sind sie effizienter in der Verwendung von Speicherplatz und können schneller aufgerufen werden.

  2. Kopieren von Werten: Wenn eine Struktur kopiert wird, wird der gesamte Wert kopiert. Dies führt zu deterministischem Verhalten und verhindert, dass Änderungen an einer Instanz einer Struktur andere Instanzen beeinflussen.

  3. Unveränderlichkeit: Strukturen sind standardmäßig unveränderlich (immutable), was bedeutet, dass die Werte ihrer Felder nicht geändert werden können, nachdem sie erstellt wurden. Dies fördert die Sicherheit und Verlässlichkeit des Codes.

// Deklaration einer Struktur
public struct Person
{
// Felder (Daten) der Struktur
public string Vorname;
public string Nachname;

// Konstruktor, der Werte für die Felder festlegt
public Person(string vorname, string nachname)
{
Vorname = vorname;
Nachname = nachname;
}

// Methoden können auch in einer Struktur definiert werden
public string GetFullName()
{
return $"{Vorname} {Nachname}";
}
}

class Program
{
static void Main()
{
// Erstellung einer Instanz der Struktur
Person person1 = new Person("Max", "Mustermann");

// Zugriff auf Felder und Methoden der Struktur
Console.WriteLine($"Vorname: {person1.Vorname}");
Console.WriteLine($"Nachname: {person1.Nachname}");
Console.WriteLine($"Voller Name: {person1.GetFullName()}");
}
}

Im Beispiel wird die Struktur Person erstellt, die Vorname und Nachname als Felder enthält, sowie einen Konstruktor und eine Methode zur Verarbeitung der Daten. Sie können dann Instanzen dieser Struktur erstellen und auf deren Felder und Methoden zugreifen.

Es ist wichtig zu beachten, dass Strukturen in der Regel für kleine Datenstrukturen verwendet werden sollten, da sie bei großen Datenmengen möglicherweise weniger effizient sind als Klassen. Strukturen sind nützlich, wenn Sie eine einfache, unveränderliche Datenstruktur benötigen, die gut für die Speicherung von Werten geeignet ist.


Kommentare