我正在尝试对C#中的字符串列表进行排序。在列表中有一个名为“待定”的选项。我想要显示要在最后显示的'TBD‘字符串。
示例列表:“橙子,苹果,待定,芒果,WaterMelon,西葫芦”
期望列表:“苹果,芒果,橙子,WaterMelon,西葫芦,待定”
我使用CompareTo()方法对字符串列表进行排序。
str1.ToLower().CompareTo(str2.ToLower());有没有其他方法可以做到这一点?
发布于 2014-11-28 20:28:24
您可以使用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();https://stackoverflow.com/questions/27188677
复制相似问题