使用LINQ选择不同的条目

18 浏览
0 Comments

使用LINQ选择不同的条目

我遇到了一个独特的情况,感到困难重重。我们需要返回一个唯一的数据集,其中包含所有三个列,以便结果具有唯一的公司和物品,但任意键都可以。我们正在使用LINQ,并且我有一个具有以下列的数据集。\n公司 物品 键\n------------------------------------------------------------\n公司A 物品A 9f94413b-63cb-4ad5-869a-4502988a22c9\n公司A 物品A 6c6a1b37-84a5-4878-a493-5dad5bf60ee4\n公司B 物品A 25c5ffca-69a5-45a6-9643-635791dc1bfd\n我希望的结果如下,不关心获取哪个键。\n公司 物品 键\n公司A 物品A 9f94413b-63cb-4ad5-869a-4502988a22c9\n公司B 物品A 25c5ffca-69a5-45a6-9643-635791dc1bfd\n我尝试了我能找到的所有LINQ示例的组合,但都没有成功。这是一个情况,我首先需要获取公司/物品的不同列表,然后再次循环以获取每个结果上的键的Top(1)吗?

0
0 Comments

问题:在使用LINQ进行筛选时,如何选择不重复的条目?

原因:在给定的代码示例中,我们有一个名为MyRecord的类,其中包含三个属性:Company、Item和Key。我们希望通过Company和Item属性对MyRecord对象进行分组,并选择每个组中的第一个Key。然而,我们需要找到一种使用LINQ的方法来实现这一点。

解决方法:我们可以使用LINQ的GroupBy方法对记录进行分组,然后使用Select方法选择每个组的第一个Key,并创建一个新的MyRecord对象。具体的解决方法如下:

1. 创建一个名为MyRecord的类,具有Company、Item和Key属性。

2. 创建一个List对象,其中包含要筛选的记录。

3. 使用GroupBy方法将记录按Company和Item属性进行分组。

4. 使用Select方法选择每个组的第一个Key,并创建一个新的MyRecord对象。

5. 使用ToList方法将结果转换为List对象。

这样,我们就可以使用LINQ对记录进行筛选,选择不重复的条目。

请注意,我们在这里使用的是C#语言的LINQ示例,代码可以在上述链接中在线尝试运行。感谢您阅读并回答我的帖子,您的答案非常有帮助!

0