C# 不提供內建函數(如 String.Format()
)來直接建立序數(第 1、第 2、第 3 等)。 然而,一個簡單的自訂函數提供了一個乾淨的解決方案。
這是一個簡潔的範例:
<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>
此函數可以有效地處理正數和負數。 對於正數,它根據最後一位數字和最後兩位數字確定正確的序數後綴(“st”、“nd”、“rd”或“th”)。負數原樣返回,因為它們沒有標準序數形式。 請記住,此函數特定於英語序數詞; 國際化需要更複雜的解決方案。
以上是如何在 C# 中高效率地建立序數(第 1、第 2、第 3 等)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!