开箱即用,有没有办法按字母顺序对集合进行排序(使用C#2.0?)。
由于
答案 0 :(得分:12)
我们在谈论什么样的系列?一个List<T>
? ICollection<T>
?阵列?存储在集合中的类型是什么?
假设List<string>
,您可以这样做:
List<string> str = new List<string>();
// add strings to str
str.Sort(StringComparer.CurrentCulture);
答案 1 :(得分:4)
您可以使用SortedList。
答案 2 :(得分:3)
Array.Sort怎么样?即使您不提供自定义比较器,默认情况下它也会按字母顺序对数组进行排序:
var array = new string[] { "d", "b" };
Array.Sort(array); // b, d
答案 3 :(得分:1)
List<string> stringList = new List<string>(theCollection);
stringList.Sort();
List<string>
实现ICollection<string>
,因此即使转换为列表,您仍将拥有所有以集合为中心的功能。
答案 4 :(得分:1)
这可能不是开箱即用的,但您也可以使用LinqBridge http://www.albahari.com/nutshell/linqbridge.aspx在2.0中执行LINQ查询(但建议使用Visual Studio 2008)。