Das Ermitteln des Maximalwerts aus einem Aufzählungstyp ist eine häufige Aufgabe für Entwickler. Dies ist in Szenarien erforderlich, in denen Sie Benutzereingaben validieren oder bestimmte Ressourcen basierend auf dem Enumerationswert verarbeiten müssen. C# bietet eine einfache Möglichkeit, dies mithilfe der Enum-Klasse und ein wenig LINQ zu erreichen.
Lassen Sie uns die Lösung untersuchen, die das Abrufen des Maximalwerts einer Aufzählung kinderleicht macht.
öffentliche Enumeration MyEnum
{
Option1 = 1,
Option2 = 2,
Option3 = 3
}
...
public int GetMaxEnumValue()
{
return Enum.GetValues(typeof(MyEnum)).Cast().Max();
}
Dieser kurze Code übernimmt die gesamte Arbeit zum Abrufen des höchsten Werts in der Aufzählung. Aber wie funktioniert es?
Tauchen Sie tief in den Code ein
„Enum.GetValues(typeof(MyEnum))“ ist der erste wichtige Teil, den es zu verstehen gilt. Diese integrierte .NET-Methode gibt ein Array zurück, das die Werte der Konstanten in einer angegebenen Enumeration enthält. Der Aufzählungstyp wird mithilfe des Schlüsselworts „typeof“ als Parameter an die Methode übergeben.
Sobald wir das Array haben, müssen wir es in Ganzzahlen umwandeln. Dies geschieht mit der .Cast()-Methode, die Teil von LINQ (Language Integrated Query) ist. LINQ ist eine Reihe von Techniken und Methoden in .NET, die es uns ermöglichen, intuitiver und flexibler mit Daten zu arbeiten.
Nachdem Sie die Werte in Ganzzahlen umgewandelt haben, können Sie den Maximalwert ganz einfach durch Aufrufen der .Max()-Methode ermitteln, einem weiteren großartigen Tool von LINQ. Diese Methode gibt den Maximalwert in einer Sammlung von int-Werten zurück.
Nutzung von Enum- und LINQ-Bibliotheken
Die Enum-Klasse ist Teil des System-Namespace in .NET und stellt mehrere statische Methoden für die Arbeit mit Aufzählungen bereit. Sie ist die ideale Bibliothek, wenn Sie Vorgänge im Zusammenhang mit Aufzählungstypen ausführen müssen.
Andererseits ist LINQ, Teil des System.Linq-Namespace, eine der leistungsstärksten Funktionen von C#. Es bietet verschiedene Methoden zur effektiven Verwaltung von Sammlungen, z. B. das Abrufen der Maximal-, Minimal- oder Durchschnittswerte sowie das Sortieren und Filtern von Daten.
Weiterlesen