Heim > Backend-Entwicklung > C++ > Strukturen vs. Klassen in C#: Wann sollten Sie welche auswählen?

Strukturen vs. Klassen in C#: Wann sollten Sie welche auswählen?

DDD
Freigeben: 2025-02-01 04:21:07
Original
794 Leute haben es durchsucht

Structs vs. Classes in C#: When Should You Choose Which?

Wann wird die Struktur (Struktur) und die Klasse (Klasse)

In C#, bei der Auswahl der Struktur oder Klasse, sollten Sie die folgenden Prinzipien betrachten:

Wann verwendet die Struktur:

Dieser Typ repräsentiert einen einzelnen Wert, ähnlich wie Basistypen (z. B. Ganzzahl- und Dual -Procision -schwimmende Punktzahl).

    Die Größe des Beispiels beträgt weniger als 16 Bytes.
  • Es ist dasselbe (es kann nach der Erstellung nicht geändert werden).
  • Es wird nicht häufig unterbrochen (konvertiert in einen Referenztyp).
  • Wann verwendet die Klasse:

Dieser Typ repräsentiert mehrere oder komplexe Datenstrukturen.

Die Größe ist größer als 16 Bytes.
  • Es muss nach der Erstellung geändert werden.
  • wird häufig als Referenzparameter gepackt oder geleitet.
  • Microsofts Position
Microsoft empfiehlt, dass die Struktur für kleine, normalerweise ein kurzes Beispiel oder die in anderen Objekte eingebetteten Instanzen verwendet wird. Sie warnen jedoch auch davor, dass die Struktur nicht definieren, wenn sie nicht alle oben genannten Eigenschaften erfüllen.

Beispiel

.NET Frameworks

Klasse verwendet die interne Struktur als

und -Typ. Diese Strukturen folgen den obigen Prinzipien, weil sie:

Gibt einen einzelnen Wert an (Schlüsselwertpaar und Enumeratorzustand). Dictionary<TKey, TValue> Entry sehr klein (weniger als 16 Bytes). Enumerator

ist dasselbe (nach der Erstellung können ihre Daten nicht geändert werden).
  • Vermeiden Sie häufige Verpackungen (sie werden hauptsächlich in interner verwendet).
  • Wann wird Microsoft die Regeln brechen
  • Trotz dieser Leitlinienprinzipien verstoßen die internen Strukturen von Microsoft häufig gegen die Größe und Invarianzregeln. Dies soll der Geschwindigkeit und Effizienz Priorität geben, da die Instanz der Struktur und das Geschwindigkeitsverhältnis schneller ist. Diese Ausnahmen sollten jedoch behandelt werden, um Unfälle zu vermeiden.
Andere Vorsichtsmaßnahmen

Wenn die Struktur implementiert wird, handelt es sich um einen Referenztyp, wenn sie in die Schnittstelle konvertiert wird.

sollte sich mit der Art des verantwortlichen Werts befassen, um ein versehentliches Kopieren oder eine Änderung zu vermeiden.

Die Leistungsvorteile der -Struktur spiegeln sich hauptsächlich in dem Szenario wider, bei denen eine große Anzahl von oder häufigen Erstellung und Zugriff auf kleine Datenelemente beinhaltet.

Das obige ist der detaillierte Inhalt vonStrukturen vs. Klassen in C#: Wann sollten Sie welche auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage