首页 / C# / C#Linq列表包含类似的元素
C#Linq列表包含类似的元素
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#Linq列表包含类似的元素,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1634字,纯文字阅读大概需要3分钟。
内容图文
![C#Linq列表包含类似的元素](/upload/InfoBanner/zyjiaocheng/798/ca469d37c6c34d3f9f9df5cf82d35ab1.jpg)
我正在寻找linq查询,看看是否存在类似的对象
我有一个对象图如下
Cart myCart = new Cart
{
List<CartProduct> myCartProduct = new List<CartProduct>
{
CartProduct cartProduct1 = new CartProduct
{
List<CartProductAttribute> a = new List<CartProductAttribute>
{
CartProductAttribute cpa1 = new CartProductAttribute{ title="red" },
CartProductAttribute cpa2 = new CartProductAttribute{ title="small" }
}
}
CartProduct cartProduct2 = new CartProduct
{
List<CartProductAttribute> d = new List<CartProductAttribute>
{
CartProductAttribute cpa3 = new CartProductAttribute{ title="john" },
CartProductAttribute cpa4 = new CartProductAttribute{ title="mary" }
}
}
}
}
我想从购物车获得=> CartProduct具有与我需要比较的CartProduct完全相同的CartProductAttribute标题值.
不多也不少.
例如.我需要在myCart中找到一个类似的CartProduct,它有一个带有title =“red”的CartProductAttribute和一个title =“small”的cartProductAttribute(例如示例中的’cartProduct1′)
CartProduct cartProductToCompare = new CartProduct
{
List<CartProductAttribute> cartProductToCompareAttributes = new List<CartProductAttribute>
{
CartProductAttribute cpa5 = new CartProductAttribute{ title="red" },
CartProductAttribute cpa6 = new CartProductAttribute{ title="small" }
}
}
所以从对象图
> myCart
> cartProduct1
> cpa1(标题=红色)
> cpa2(标题=小)
> cartProduct2
> cpa3(title = john)
> cpa4(title = mary)
Linq查询寻找
> cartProductToCompare
> cpa5(标题=红色)
> cpa6(标题=小)
应该找到
> cartProduct1
希望这一切都有道理……
谢谢
解决方法:
我想这就是你所追求的.
var attributes = new [] { "red", "small" };
var result = myCart.Products.Where(product =>
product.Attributes.All(attribute =>
attributes.Contains(attribute.title)
)
);
内容总结
以上是互联网集市为您收集整理的C#Linq列表包含类似的元素全部内容,希望文章能够帮你解决C#Linq列表包含类似的元素所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。