Skip to content

DE CSharp Structs Records

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Strukturen, Datensätze, Tupel und Vergleich

Handbuch C# · Beispiele UO

struct – Werttyp; class ist ein Referenztyp. record gibt einen Typ mit praktischer Datengleichheitssemantik an; record class und record struct sind möglich. with erstellt eine Kopie des Datensatzes mit den geänderten Mitgliedern und behält dabei das ursprüngliche Objekt bei.

Einfaches Beispiel (Example.cs)

Speichern Sie dieses Beispiel separat als Example.cs. Führen Sie es unabhängig von den anderen Beispielen dieser Seite aus.

Example.cs:

// PROJECT-EXAMPLE
var original = new Item("ore", 1);
var copy = original with { Count = 3 };
System.Console.WriteLine($"{original.Count}:{copy.Count}");
record Item(string Name, int Count);

Ergebnis:

1:3
record Position(int X, int Y);
var first = new Position(10, 20);
var second = first with { X = 11 };
UO.Print($"First={first}, second={second}");
readonly record struct Point(int X, int Y);
var point = new Point(10, 20);
(int X, int Y) coordinates = (point.X, point.Y);
var (x, y) = coordinates;
UO.Print($"{x}, {y}");

Ein Tupel gruppiert mehrere Werte ohne separate Klassendeklaration. Seine Elementnamen verbessern die Lesbarkeit, erzeugen jedoch keinen unabhängigen neuen Typ. Unterscheiden Sie bei nativen Typen zwischen Referenzgleichheit Equals und dem überladenen Operator ==.

Offizielle Dokumentation: Strukturen, Datensätze, Tupel und Vergleich – Microsoft Learn.

Clone this wiki locally