capypad
0 Tage Serie
csharp / intermediate
Snippet

Unveränderlichkeit mit C# Records

Records sind Referenztypen, die integrierte Funktionen zur Kapselung von Daten bieten. Sie verwenden wertebasierte Gleichheit und unterstützen zerstörungsfreie Mutation über den 'with'-Ausdruck.

snippet.csharp
csharp
1
2
3
4
public record Product(string Id, string Name, decimal Price);
 
var original = new Product("A1", "Laptop", 999.99m);
var discount = original with { Price = 899.99m };
Erklärung
1
public record Product(...);
Definiert einen positionellen Record mit Eigenschaften, die standardmäßig unveränderlich sind.
2
original with { Price = 899.99m }
Erstellt eine neue Instanz des Records mit einer oder mehreren geänderten Eigenschaften.