Patrick Smacchia
25.01.2023, 10:04 Uhr
C# Deconstruct im Detail
Mit der Methode Deconstruct bietet C# eine bequeme Möglichkeit zur Reduzierung von Boilerplate-Code und erlaubt es, prägnanteren Code zu schreiben.
Mit C# 7.0 hat Microsoft die Deconstruction-Syntax eingeführt. Sie erlaubt Entwicklern in einem einzelnen Ausdruck Properties eines Objekts oder Elemente eines Tupels zu extrahieren und einer Variablen zuzuweisen. Das klappt beispielsweise so:
var pat = new Person() { Name = "Patrick",
BirthDate = new DateOnly(1975, 4, 24) };
var (name, birthDate) = pat;
Console.WriteLine($"Name:{name} BirthDate:{birthDate:yyy-M-dd}");
class Person {
internal string Name { get; init; }
internal DateOnly BirthDate { get; init; }
internal void Deconstruct(out string name, out DateOnly birthDate) {
name = Name;
birthDate = BirthDate;
}
}
In einem kurzen Artikel auf ndepend.com erklärt Entwickler Patrick Smacchia die Hintergründe, Feinheiten und Grenzen der Deconstruct-Methode.