今天大家一同学习下lambda表达式 lambda表达式使用起来更方便 lambda表达式其实是一个匿名函数使用的运算符为=> 语法 (参数)=》表达式 如果只有一个参数可以不使用括号多个参数用逗号隔开 (xy)=>x==y 如果没有参数使用空括号表示 ()=>表达式 where()方法 代码 private void button_Click(object sender EventArgs e) { //查询大于的元素 string str = ; int[] arrTwo = { }; var query = arrTwoWhere(i=>i>=) foreach (var item in query) { str += itemToString() + \r\n; } ConsoleWrite(str) } 结果
OrderBy()排序 代码按升序排列 //排序 int[] arrTwo = { }; var query = arrTwoOrderBy(i =>i) foreach (var item in query) { ConsoleWriteLine(itemToString()) } 结果
如果是想按降序排列使用OrderByDescending方法! Skip()和SkipWhile() Skip()用来跳过指定数目的元素 SkipWhile是根据一定的条件跳过满足条件的元素但是SkipWhile只跳过第一个满足条件的元素并不是跳过所有满足条件的元素 如果下一个元素不满足条件则停止向下执行 代码 //跳过前个元素 int[] arrTwo = { }; var query = arrTwoSkip() ConsoleWriteLine(skip用法) foreach (var item in query) { ConsoleWriteLine(itemToString()) } ConsoleWriteLine(skipwhile用法) var query = arrTwoSkipWhile(i=>i>) foreach (var item in query) { ConsoleWriteLine(itemToString()) } 结果 skip用法
skipwhile用法
Take()和TakeWhile() Take()从集合中提取指定书目的元素 TakeWhile从集合中第一个元素开始如果为true继续提取下一个元素如果为FALSE则停止向下执行 如果第一个元素不满足条件则不往下执行 代码 //提取元素 int[] arrTwo = { }; var query = arrTwoTake() ConsoleWriteLine(take用法) foreach (var item in query) { ConsoleWriteLine(itemToString()) } //只提取大于的元素 var query = arrTwoTakeWhile(i=>i>) ConsoleWriteLine(TakeWhile用法) foreach (var item in query) { ConsoleWriteLine(itemToString()) } 结果 take用法
TakeWhile用法
Distinct()消除集合中重复的元素 代码 private void button_Click(object sender EventArgs e) { //消除集合中的元素 int[] arrTwo = { }; var query = arrTwoDistinct() foreach (var item in query) { ConsoleWriteLine(itemToString()) } } Concat()连接两个集合把两个集合中的数据放置到一个新的对象中 union用来求两个集合的并集 intersect用来求两个集合的交集 except用来求两个集合的差集 |