【发布时间】:2015-03-03 02:21:58
【问题描述】:
我想使用int 值对Tuple<int, string> 中的List 进行排序。在这个example 中使用了以下代码:
List<Tuple<int, string>> list = new List<Tuple<int, string>>();
list.Add(new Tuple<int, string>(1, "cat"));
list.Add(new Tuple<int, string>(100, "apple"));
list.Add(new Tuple<int, string>(2, "zebra"));
list.Sort((a, b) => a.Item1.CompareTo(b.Item1));
foreach (var element in list)
{
Console.WriteLine(element);
}
我注意到如果我更改了以下行:
list.Sort((a, b) => a.Item1.CompareTo(b.Item1));
到:
list.Sort();
元素再次排序。
这是否意味着默认行为是使用第一项?如果是,这两种技术之间是否存在性能差异?
【问题讨论】:
-
Tuple<T1, T2>.IComparable.CompareTo Method -> 示例表明 .Sort() 按其第一个组件排序。
-
@DJmRek 它说它按 all 组件排序;代码中的示例很糟糕,因为第一个组件没有重复