要求:查询对象集合中,对象技能等级属性比8大的对象。
var res=from m in masterList //类似于foreach方法,对集合中的对象进行遍历。
where m.Level>8 //当遍历到的对象满足我们的要求使用关键字where
select m; //返回 m
foreach(var temp in res) //因为之前已经把满足条件的对象返回到了res中,变成了新的集合
{
Console.WriteLine(temp); //输出集合中满足条件的对象
}
如果想要继续添加别的条件在 where m.Level>8的后面继续加条件就行例如:
where m.Level>8&&m.Level<15
除此之外,还有一个方法能够对集合中的数据进行查询。
var res=masterList.Where(Func<集合中的元素,bool(返回值是bool类型)>)
写一个方法形参是集合中的元素,返回值是bool类型,与func的保持一致
public bool Test(MartialMaster master)
{
if(master.Level>8)return true; //在方法内部进行条件的判断,看是否满足
return false;
}
var res=masterList.Where(Test) //Test里面是判断条件,最后返回满足条件的res数组。
因为Where里面是Func方法,且只有一个参数一个返回值,可以使用匿名函数的方法更简单
var res=masterList.Where(m=>m.Level>8);
也能对集合中的数据进行过滤。