比较数组 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; }

}


慕田峪4524236
浏览 185回答 2
2回答

catspeake

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

忽然笑

假设您要选择具有与您的 ID 列表匹配的任何歌曲 ID 的任何乐队,您可以通过以下方式实现:var matchingBands = Bands.Where(band => band.SongsID.Any(selectes.Contains));
打开App,查看更多内容
随时随地看视频慕课网APP