大家好,我有一个使用 Linq 的查询,它返回一组记录,其中一个是国家 ID,我还有一系列所需的国家。有没有办法循环遍历国家数组并查看 id 是否在结果中,我想做这样的事情
results = from r in results
where
//jump to my c# array
for(int x = 0;x < array.count; x++)
{
r.countryId.ToString().Contains(array[x])
}
select r
谢谢
试试这个
var list = from r in results
where array.Contains(r.countryId.ToString())
select r;
您可以加入收藏,但我认为 Yograj Gupta 的答案可能是更好的答案。
var query = from a in results
join b in array
on a.CountryId equals b.CountryId
select a;
你没有给出数组类型所以假设它是 testclass1
class TestClass1
{
public int Id { get; set; }
public string Name { get; set; }
}
class Country
{
public int Id { get; set; }
public string Name { get; set; }
}
List<Country> countries = new List<Country>();
TestClass1[] arrays = new TestClass1[30];
countries.Where(x => arrays.Select(y => y.Id).Contains(x.Id)).ToList();
我不确定这是否是最好的方法,但我认为这会奏效。
更新:没有注意到数组也是国家类型的。对不起。