黑马程序员技术交流社区

标题: 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 查询排序
  
方法名
  
说明
C#查询语法表达式
更多信息
  
OrderBy
  
按升序对值进行排序
orderby
Enumerable.OrderBy  
  Queryable.OrderBy  
  
OrderByDescending
  
按降序对值进行排序
Orderby …   descending
Enumerable.OrderByDescending  
  Queryable.OrderByDescending  
  
ThenBy
  
按升序进行次要排序
Orderby …
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