C#如何获取对象列表及其频率的所有唯一组合

时间:2019-05-14 15:06:17

标签: c# list filtering

因此,在C#中,我试图对对象列表进行排序,以便获得每种唯一的组合,并计算它们在列表中出现的频率。

我有以下列表:

    List<Numbers> nums = new List<Numbers>();

    public class Numbers
    {
        public int numOne { get; set; }
        public int numTwo { get; set; }
    }

    nums.Add(new Numbers { numOne = 1, numTwo = 2});
    nums.Add(new Numbers { numOne = 4, numTwo = 7});
    nums.Add(new Numbers { numOne = 1, numTwo = 2});

现在,我想获得一个新列表,该列表从根本上过滤“数字”列表,以便获得以下结果:

    1  |  2  -->  2
    4  |  7  -->  1

我一直在尝试linq,但似乎找不到正确的方法来获得所需的结果。

1 个答案:

答案 0 :(得分:3)

尝试一下。使用LINQ,您可以一次将数字列表按75.75.75.75 123.123.123.123 180.180.180.180 150.150.150.150 numOne进行分组。然后,您可以选择属性,并通过选择满足分组条件的数字列表中的numTwo来确定计数。然后,您可以根据需要使用它。我只是将其打印到控制台窗口,并以与普通列表相同的方式访问属性。希望有帮助。

Count