首页 > 解决方案 > 比较数组 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; }
}

标签: c#linq

解决方案


var selectes2 = Bands.Where(t => t.SongsID.Intersect(selectes).Any());

推荐阅读