对集合进行按字母顺序排序

5

有没有一种开箱即用的方法可以按字母顺序对集合进行排序(使用C# 2.0)?

谢谢


1
请参见 https://dev59.com/eXVC5IYBdhLWcg3wxEN1 - Dominic Rodger
5
@Dominic,这个问题是关于3.5版本的,也就是说涉及到Linq。 - user1228
@Dominic:我看到大多数问题和答案都使用C#3。 - H H
@Will,@Henk - 对不起,我应该避开那些我一无所知的话题! - Dominic Rodger
@Dom 考虑到.NET版本控制的主题已经足够令C#开发人员感到困惑了,可能确实如此! - user1228
5个回答

12

我们正在谈论哪些类型的集合?是 List<T> 吗?ICollection<T>?数组?集合中存储的是什么类型?

假设是 List<string>,您可以这样做:

 List<string> str = new List<string>();
 // add strings to str

 str.Sort(StringComparer.CurrentCulture);

我不喜欢在一般情况下使用 var - thecoop
1
@thecoop 除非上下文不明显,否则var很棒。 - sparkyShorts

4

3

你觉得 Array.Sort 怎么样?即使你不提供自定义的比较器,它默认会按字母顺序排序数组:

var array = new string[] { "d", "b" };

Array.Sort(array); // b, d

1
List<string> stringList = new List<string>(theCollection);
stringList.Sort();

List<string> 实现了 ICollection<string>,因此即使您将其转换为列表,仍然可以使用所有集合相关的功能。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接