如何与linq中的数组进行比较并获取至少有一个交集的所有元素?例:
selectes = {1,5,7}
Bands[0].SongsID {1,9}
Bands[1].SongsID {5,6}
Bands[2].SongsID {4,6}
Run Code Online (Sandbox Code Playgroud)
我需要选择Bands[0]和Bands[1].我试过这个:
var selectes2 = Bands.Where(t => t.SongsID.Intersect(selectes));
Run Code Online (Sandbox Code Playgroud)
乐队类:
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; }
}
Run Code Online (Sandbox Code Playgroud)
var selectes2 = Bands.Where(t => t.SongsID.Intersect(selectes).Any());
Run Code Online (Sandbox Code Playgroud)