Zum Hauptinhalt springen

Wie funktioniert die Struktur in C#

Die Struktur in der Programmiersprache ist C# ein Datentyp, der mehrere Felder verschiedener Typen enthält, die unter demselben Namen zusammengefasst sind. In C# sind Strukturen aussagekräftige Typen und können als Argumente für Methoden, Variablen oder Rückgabewerte verwendet werden.

Mithilfe von Frameworks können Entwickler ihre eigenen Datentypen erstellen, die einige Objekte oder Entitäten in einem Programm darstellen. Die Struktur kombiniert Daten verschiedener Art und ermöglicht es Ihnen, ein Objekt oder Konzept genauer und bequemer in einem Programm darzustellen.

Vorteil die Verwendung von Strukturen besteht darin, dass sie aussagekräftige Datentypen sind und als Wert übergeben werden, dh sie werden vollständig kopiert, wenn sie an Methoden übergeben oder anderen Variablen zugewiesen werden. Dadurch arbeiten Strukturen effizienter im Vergleich zu Klassen, die als Referenz übergeben werden.

Es ist wichtig zu beachten, dass Strukturen in C# nicht nur Felder enthalten können, sondern auch Methoden, Konstruktoren, Eigenschaften und Indexer. Aufgrund dieser Funktionen haben Strukturen eine höhere Abstraktionsebene und können zum Erstellen komplexer Softwaremodelle verwendet werden.

Interne Struktureinrichtung in C#

Eine Struktur besteht aus Feldern, die sowohl primitive Datentypen als auch andere Strukturen oder Klassen sein können. Jedem Feld wird ein eindeutiger Name zugewiesen und der Datentyp wird angegeben, den es speichern kann. Eine Struktur kann Methoden und Eigenschaften enthalten, um eine bessere Interaktion mit den Daten zu ermöglichen.

Die interne Struktureinheit ist eine konsistente Anordnung von Feldern im Speicher. Jedes Feld benötigt je nach Datentyp eine bestimmte Anzahl von Bytes. Die Struktur kann auch an der Speichergrenze ausgerichtet werden, um einen effizienteren Zugriff auf die Felder zu ermöglichen.

DatentypGröße (Byte)
bool1
byte1
char2
short2
int4
long8
float4
double8

Beispiel zum Erstellen einer Struktur:

struct Point>

In diesem Beispiel enthält die Point-Struktur zwei Felder vom Typ int: X und Y. Außerdem ist ein Konstruktor in der Struktur definiert, der zwei int-Werte akzeptiert und die entsprechenden Felder initialisiert.

Strukturen können verwendet werden, um die Arbeit mit Daten zu optimieren oder einfache Objekte zu erstellen. Es sollte jedoch berücksichtigt werden, dass Strukturen nicht voneinander oder von Klassen erben können und nicht als Argumente und Rückgabewerte für virtuelle Methoden verwendet werden können. Strukturen können auch keine expliziten oder impliziten Konstruktoren ohne Parameter haben.

Definition und Merkmale der Struktur

Das Schlüsselwort zum Definieren einer Struktur ist struct. Nach dem Schlüsselwort folgt der Name der Struktur und der Körper, der in geschweiften Klammern eingeschlossen ist. Felder, Methoden, Eigenschaften und Konstruktoren können im Strukturkörper definiert werden.

Die Strukturen haben folgende Merkmale:

  1. Strukturen sind Werttypen und werden im Gegensatz zu Objekten, die auf dem Heap gespeichert sind, auf einem Speicherstapel gespeichert.
  2. Strukturen können nicht von anderen Typen erben, können aber Schnittstellen implementieren.
  3. Strukturen unterstützen keine Vererbung, Polymorphismus und virtuelle Methoden.
  4. Strukturen haben standardmäßig private Verfügbarkeit für ihre Felder und Methoden, können jedoch in public, internal oder protected geändert werden.
  5. Strukturen können Konstruktoren enthalten, die beim Erstellen einer Instanz einer Struktur automatisch ausgeführt werden.
  6. Strukturen können als Wert oder als Referenz übergeben werden.

Die Verwendung von Strukturen in C# ist vorzuziehen, wenn Sie einen kleinen Datentyp mit einem Satz von Feldern erstellen möchten, der direkt im Code übergeben und verwendet werden kann, ohne unnötige Overheads zu erzeugen.

Es ist wichtig sich daran zu erinnern: Wenn Sie komplexe Logik in eine Struktur integrieren oder Vererbung verwenden möchten, wird empfohlen, anstelle der Struktur eine Klasse zu verwenden.

Implementieren einer Struktur in C#

Hier ist ein Beispiel für eine einfache Struktur:

struct Person

In diesem Beispiel haben wir eine Person-Struktur mit zwei öffentlichen Variablen erstellt: Name vom Typ string und Age vom Typ int . Das Schlüsselwort public gibt an, dass diese Variablen außerhalb der Struktur verfügbar sind.

struct Person, Возраст: ");>>

Strukturen können verwendet werden, um Arrays zu erstellen, Argumente an Funktionen zu übergeben und vieles mehr. Der Unterschied zwischen Strukturen und Klassen besteht darin, dass Strukturen aussagekräftige Datentypen sind und Klassen referenzierte Typen sind. Dies bedeutet, dass die Werte der Strukturvariablen kopiert werden, wenn sie eine Struktur als Argument übergeben oder einer Variablen zugewiesen werden, anstatt auf das Objekt zu verweisen.

Wenn Sie große Datenmengen in einer Struktur speichern oder komplexe Logik implementieren möchten, ist es sinnvoll, Klassen zu verwenden, da sie mehr Möglichkeiten für die Arbeit mit Daten und Methoden bieten.

Vorteile der Verwendung von Strukturen in C#

  • Effizienz: strukturen in C# sind Werttypen, die auf dem Stapel gespeichert sind. Im Gegensatz zu Referenzdatentypen erfordern Strukturen keine zusätzliche Speicherzuweisung auf dem Heap, was sie hinsichtlich Speicher und Ausführungsgeschwindigkeit effizienter macht.
  • Übertragung nach Wert: strukturen werden an Methoden übergeben und nach Wert von Methoden zurückgegeben, was bedeutet, dass jede Instanz der Struktur eine eigene Kopie der Feldwerte hat. Dies kann nützlich sein, wenn Sie mit unveränderlichen Daten arbeiten möchten.
  • Benutzerfreundlichkeit: die Strukturen ermöglichen eine bequeme und logische Organisation der Daten. Sie können aus verschiedenen Feldtypen bestehen, wodurch sie flexibel und multifunktional sind.
  • Geeignet für kleine Datenmengen: im Vergleich zu Klassen wird empfohlen, Strukturen zu verwenden, wenn Sie mit kleinen Datenmengen arbeiten müssen, da sie kompakter und effizienter sein können.