考虑下面的代码:
public IEnumerable <Country> ListPopulation()
{
foreach(var continent in Continents)
{
var ids = context.continentTable
.where(y=>y.Name == continent.name)
.select(x=>x.countryId);
}
return GetPopulation(ids);// ids is not available here
}
Public IEnumerable<Country>GetPopulation(IQueryable<int> idnumbers)
{
}
如何初始化
var ids
,以便可以使用它调用GetPopulation()
? 最佳答案
好吧,主要问题与使用“ var”无关。您已经有了一个foreach循环,其中声明了该变量,然后您尝试使用该变量从循环外部返回。您期望值是多少?
如果您要选择所有国家/地区,为什么不这样做:
public IEnumerable <Country> ListPopulation()
{
return GetPopulation(context.continentTable.Select(x => x.countryId));
}
遍历每个大洲的意义何在?还是大陆表中有您未显示的“大陆”属性未引用的国家?