C# bietet keine integrierte Funktion (wie String.Format()
) zum direkten Erstellen von Ordnungszahlen (1., 2., 3. usw.). Eine einfache benutzerdefinierte Funktion bietet jedoch eine saubere Lösung.
Hier ist ein prägnantes Beispiel:
<code class="language-csharp">public static string ToOrdinal(int num) { if (num <= 0) return num.ToString(); string suffix = ""; int lastDigit = num % 10; int lastTwoDigits = num % 100; if (lastTwoDigits >= 11 && lastTwoDigits <= 13) suffix = "th"; else if (lastDigit == 1) suffix = "st"; else if (lastDigit == 2) suffix = "nd"; else if (lastDigit == 3) suffix = "rd"; else suffix = "th"; return num + suffix; }</code>
Diese Funktion verarbeitet sowohl positive als auch negative Zahlen effizient. Bei positiven Zahlen wird das korrekte Ordnungssuffix („st“, „nd“, „rd“ oder „th“) anhand der letzten Ziffer und der letzten beiden Ziffern bestimmt. Negative Zahlen werden unverändert zurückgegeben, da sie keine Standard-Ordinalformen haben. Denken Sie daran, dass diese Funktion spezifisch für englische Ordnungszahlen ist. Die Internationalisierung würde eine komplexere Lösung erfordern.
Das obige ist der detaillierte Inhalt vonWie kann ich in C# effizient Ordnungszahlen (1., 2., 3. usw.) erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!