在C#中获取不同整数集的最佳方法

时间:2017-01-11 16:11:01

标签: c# list multidimensional-array

我想在列表/数组中添加一组两个整数值,并将它们作为一个不同的组进行排序。

例如: - { {2,3},{2,3},{5,10},{5,2} }应该变为{ {2,3},{5,10},{5,2} } <登记/> 使用数组或列表的最佳方法是什么?

1 个答案:

答案 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)。

相关问题