如何对字符串列表进行排序,尽管默认排序顺序,但一个特定值应该是最后一个
本文关键字:排序 一个 最后一个 顺序 列表 字符串 默认 | 更新日期: 2023-09-27 18:32:25
我正在尝试在 C# 中对字符串列表进行排序。在列表中有一个名为"TBD"的选项。我想显示要在最后一个显示的"TBD"字符串。
示例列表:"橙子、苹果、待定、芒果、西瓜、西葫芦"
预期清单:"苹果、芒果、橙子、西瓜、西葫芦、待定"
我正在使用CompareTo()
方法来对字符串列表进行排序。
str1.ToLower().CompareTo(str2.ToLower());
还有其他方法可以实现相同的目的吗?
您可以使用 LINQ:
list = list.OrderBy(str => str == "TBD").ThenBy(str => str).ToList();
它之所以有效true
是因为 (1) 大于 false
(0)。
如果要不区分大小写进行比较:
list = list
.OrderBy(str => StringComparer.CurrentCultureIgnoreCase.Equals(str, "TBD"))
.ThenBy(str => str, StringComparer.CurrentCultureIgnoreCase)
.ToList();