gpt4 book ai didi

C# 获取所有具有共同属性的项目

转载 作者:太空宇宙 更新时间:2023-11-03 19:08:19 25 4
gpt4 key购买 nike

这应该很简单,但我真的很头疼,我想我需要 sleep 。

我有一些代码的列表

属性对象是这样的:

public class Properties {
public int IdProperty
public int ProductId
}

这很像键值对。例如这个值:

Product - Property
1 1
1 2
2 1
2 3
3 1
3 3

我想要的是从该列表中获取包含所有产品的属性(在本例中,id 为 1 的属性)

返回列表应该是:

1           1
2 1
3 1

这应该很简单,不是吗? (尝试使用 lambda linq)

添加了尝试过的查询:

properties.Where(p => properties.All(x => x.IdProperty == p.IdProperty));
properties.Join(properties, p=>p.IdProperty, ... not sure what to put on other params);

一些疯狂的 2 种匹配方式列表。

注意:我不知道公共(public)属性。

最佳答案

return properties.Where(p => p.PropertyId == 1);

在哪里properties是一个 IEnumerable<Properties>包含您要从中选择的属性对象。

编辑现在了解您的问题,获取所有产品共有的所有属性 ID 的一种方法是:

var productCount = properties.Select(p => p.ProductId).Distinct().Count();
return properties.Where(p => properties.Count(x => x.IdProperty == p.IdProperty) == productCount);

关于C# 获取所有具有共同属性的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23771974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com