C# 在C语言中获得不同整数集的最佳方法#

C# 在C语言中获得不同整数集的最佳方法#,c#,list,multidimensional-array,C#,List,Multidimensional Array,我想将一组两个整数值添加到一个列表/数组中,并将它们作为一个不同的组进行排序 例如:-{{2,3},{2,3},{5,10},{5,2}应该变成{2,3},{5,10},{5,2} 使用数组或列表的最佳方法是什么 假设您确实只想获取所有不同的项,最简单的方法是使用元组列表,然后使用IEnumerable.distinct()删除重复项 例如: var data = new List<Tuple<int, int>> { Tuple.Create(2, 3),

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

例如:-
{{2,3},{2,3},{5,10},{5,2}
应该变成
{2,3},{5,10},{5,2}


使用数组或列表的最佳方法是什么

假设您确实只想获取所有不同的项,最简单的方法是使用
元组列表
,然后使用
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);

这将按每对的第一个元素排序(因为指定了
Item1

两者都没有。如果您想要一组数据,请使用一组数据,而不是列表或数组,它们都不是集合的表示形式。谢谢@Matthew Watson,为什么不使用哈希集而不是列表?@aquinas您不能将重复项放入哈希集中,因此,我无法演示如何从包含重复项的实体集合(如果该集合是哈希集)中删除重复项。“您不能将重复项放入哈希集”嗯,确切地说:)这正是我想要的。他提到想要添加到列表中,但似乎他真的应该添加到集合中…@aquinas从OP中很难说。我想他已经有了某种类型的列表,他想要重复。
var distinct = data.Distinct().OrderBy(item => item.Item1).ToList();