我想在列表/数组中添加一组两个整数值,并将它们作为一个不同的组进行排序。
例如: - { {2,3},{2,3},{5,10},{5,2} }
应该变为{ {2,3},{5,10},{5,2} }
<登记/>
使用数组或列表的最佳方法是什么?
答案 0 :(得分:1)
假设您确实只想获取所有不同的项目,最简单的方法是使用Tuple<int,int>
列表,然后使用IEnumerable.Distinct()
删除重复项。
例如:
var data = new List<Tuple<int, int>>
{
Tuple.Create(2, 3),
Tuple.Create(2, 3),
Tuple.Create(5, 10),
Tuple.Create(5, 2)
};
var distinct = data.Distinct().ToList();
foreach (var tuple in distinct)
Console.WriteLine(tuple);
这不执行任何排序,但如果您想订购结果,可以使用OrderBy()
选择要订购的元素:
var distinct = data.Distinct().OrderBy(item => item.Item1).ToList();
这将按每对的第一个元素排序(因为指定了Item1
)。