c# - 比较数组 LINQ
问题描述
如何与 linq 中的数组进行比较并获取至少有一个交叉点的所有元素?例子:
selectes = {1,5,7}
Bands[0].SongsID {1,9}
Bands[1].SongsID {5,6}
Bands[2].SongsID {4,6}
我需要选择Bands[0]
和Bands[1]
。我试过这个:
var selectes2 = Bands.Where(t => t.SongsID.Intersect(selectes));
乐队类:
public class Band
{
public int ID { get; set; }
public string Name { get; set; }
public DateTime YearOfCreate { get; set; }
public string Country { get; set; }
public int[] SongsID { get; set; }
}
解决方案
var selectes2 = Bands.Where(t => t.SongsID.Intersect(selectes).Any());
推荐阅读
- javascript - 如何在 React Native 中验证动态表单?
- python - 使用键表达式解析字符串
- python - 使用 setuptools 独立于操作系统安装脚本
- python - 在 Python 中处理来自 Node.js 的实时数据
- wordpress - 自定义帖子类型的永久链接不起作用,我不知道为什么
- aop - Spring webflux - AOP 如何使用方面,以便在调用阻塞操作之前处理它(推送到后台线程)
- c# - 如何创建 C# gui 来运行 simulink 模型?
- javascript - React Redux:TypeError:无法读取 null 的属性“用户”
- django - 从 Dockerfile 运行 collectstatic 命令
- r - 如何在特定位置排列表格 grid.arrange