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中文网其他相关文章!