Einfache Erstellung von Ordinals in C#
Wenn Sie mit Zahlen arbeiten, möchten Sie möglicherweise, dass sie als Ordinalzahlen angezeigt werden – etwas, das ihre Position in einer Sequenz angibt, wie 1st, 2nd oder 3rd. Wenn Sie ein C#-Entwickler sind und sich gefragt haben, ob es einen einfachen Weg gibt, diese Ordinals zu generieren, sind Sie nicht allein.
In diesem Blogbeitrag werden wir erörtern, wie man in C# Ordinals erstellt und eine einfache Funktion bereitstellen, um dies zu erreichen. Lassen Sie uns dies Schritt für Schritt aufschlüsseln.
Verständnis von Ordinals
Ordinals repräsentieren den Rang oder die Position von etwas in einer Menge. Zum Beispiel:
- 1 wird als 1st dargestellt
- 2 wird als 2nd dargestellt
- 3 wird als 3rd dargestellt
Die Herausforderung
Während C# eine Vielzahl von Formatierungsoptionen über String.Format()
bietet, haben Sie möglicherweise bemerkt, dass es keine integrierte Funktion zur Erstellung von Ordinals gibt. Dies kann unbequem sein, ist aber nicht unüberwindbar.
Implementierung von Ordinals in C#
Anstatt sich auf integrierte Funktionen zu verlassen, können Sie eine einfache Funktion erstellen, um ganze Zahlen in ihre ordinalen Darstellungen zu konvertieren. So geht’s.
Hier ist der Code
Sie sollten eine statische Methode in Ihrem C#-Projekt erstellen:
public static string AddOrdinal(int num)
{
if(num <= 0) return num.ToString();
switch(num % 100)
{
case 11:
case 12:
case 13:
return num + "th";
}
switch(num % 10)
{
case 1:
return num + "st";
case 2:
return num + "nd";
case 3:
return num + "rd";
default:
return num + "th";
}
}
Code-Erklärung
-
Eingabevalidierung:
- Die Funktion überprüft zunächst, ob die Zahl kleiner oder gleich null ist. Wenn ja, gibt sie die Zahl einfach als String zurück, da Ordinals für Werte kleiner oder gleich null nicht existieren.
-
Behandlung besonderer Fälle:
- Die Funktion zählt die Ausnahmen bezüglich Zahlen, die mit 11, 12 und 13 enden (wie 11th, 12th und 13th).
-
Bestimmung des Suffix:
- Anschließend überprüft sie die letzte Ziffer der Zahl, um das entsprechende Suffix zu bestimmen:
- “st” für 1
- “nd” für 2
- “rd” für 3
- “th” für alle anderen
- Anschließend überprüft sie die letzte Ziffer der Zahl, um das entsprechende Suffix zu bestimmen:
Anwendungsbeispiel
Sie können diese Funktion von überall in Ihrem C#-Code wie folgt aufrufen:
string firstOrdinal = AddOrdinal(1); // Gibt "1st" aus
string secondOrdinal = AddOrdinal(2); // Gibt "2nd" aus
string eleventhOrdinal = AddOrdinal(11); // Gibt "11th" aus
Fazit
Die Erstellung von Ordinals in C# ist mit einer benutzerdefinierten Funktion unkompliziert. Während das .NET-Framework derzeit keine eingebaute Möglichkeit bietet, Ordinals einfach zu formatieren, ermöglicht die oben geteilte Methode, diese Funktionalität mit minimalem Aufwand hinzuzufügen.
Bitte beachten Sie, dass diese Implementierung nicht internationalisiert ist, was bedeutet, dass sie nur für englische Ordinals funktioniert. Stellen Sie sicher, dass Sie dies testen und erweitern, wenn Ihre Anwendung Unterstützung für andere Sprachen erfordert!
Zusammenfassend lässt sich sagen, dass Sie mit nur ein wenig Code die Funktionalität zur Erstellung von ordinals
in C# hinzufügen können, was sowohl die Funktionalität als auch die Benutzererfahrung in Ihren Anwendungen verbessert.