Lambda
C#的Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。语法如下:
(object argOne, object argTwo) => {; /*Your statement goes here*/}
var rolecfg = rolefuncs.FirstOrDefault(f => f.FunctionID == item.FuncID);
First 和FirstOrDefault 都是查找集合中,第一个满足表达式的元素。
只是返回的结果有不同,
比如 int[] array= {2 ,3,4,5,6}; 这么一个数组。
array.First(x=>x ==10) 会抛出InvalidOperationException 异常。 源序列为空。
但是array.FirstOrDefault(x=>x ==10)会返回int类型的默认值, 即 0
LINQ
1) from 临时变量 in 实现IEnumerable<T>接口的对象
where条件表达式
[orderby 条件]
[group by 条件]
select 临时变量中被查询的值
2) 实现IEnumerable<T>接口的对象.LINQ方法名(lambda表达式)。如:
string input = "hello world";
int count = input.Count(w=>w == 'o'); //查询字母o出现的次数