黑马程序员技术交流社区
标题: linq浅析2 [打印本页]
作者: 祐掱緣 时间: 2013-10-10 16:30
标题: linq浅析2
Linq命名空间和程序集信息命名空间使用:System.Linq
使用程序集信息:System.Core.dll 程序集
Lambda表达式在前面的示例中,通知该条件表达式 (num % 2 == 0) 是作为内联参数。Where 方法:Where(num =>num % 2 == 0).此内联表达式称为lambda 表达式。 将代码编写为匿名方法或泛型委托或表达式树是一种便捷的方法,否则编写起来就要麻烦得多。 在 C# 中,=> 是 lambda 运算符,可读为“goes to”。 运算符左侧的 num 是输入变量,与查询表达式中的 num 相对应。编译器可推断 num 的类型,因为它了解 numbers 是泛型IEnumerable<T> 类型。 lambda 表达式与查询语法中的表达式或任何其他 C# 表达式或语句中的表达式相同;它可以包括方法调用和其他复杂逻辑。 “返回值”就是表达式结果。
First 普通查询Var enum= from 子项 in 源
Where条件
Select 子项
意思是将查询出来的单条数据赋值给子项并添加到enum中。
Two 查询排序 方法名 | | | | |
OrderBy | | | Enumerable.OrderBy
Queryable.OrderBy
| |
OrderByDescending | | | Enumerable.OrderByDescending
Queryable.OrderByDescending
| |
ThenBy | | | Enumerable.ThenBy
Queryable.ThenBy
| |
ThenByDescending | | Orderby …,… thenbydescending | Enumerable.ThenByDescending
Queryable.ThenByDescending
| |
Reverse | | | | Enumerable.Reverse<TSource>
Queryable.Reverse<TSource>
| | |
| | | | |
| | | | |
查询语法用例:
String[] words={“the”,”quick”,”brown”,”fox”,”jumps”};
IEnumerable<string> query= from wordin words
Orderbyword.substring(0,1) descending
Selectword;
Foreach(string str in query)
Console.WriteLine(str);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |