目录
Linq语句是指利用查询语法或方法,从数据库、程序对象的集合以及XML文档中查询数据。
1. 匿名类型
匿名类型是指,用初始化语句创建的无名的类型,编译器通过初始化语句,推断每个成员的属性,然后生成对应的只读属性,并创建这个类型的对象。如果编译器遇到相同参数名,相同推断类型和相同顺序的匿名类型,会重用这个类型。
2. 查询语法
查询语法是类似于SQL的查询语法,返回的是可枚举类型IEnumerable<T>,将返回值与foreach类型配合使用,查询对象是实现了IEnumerable<T>接口的类,如List<T>\Dictionary<T>\Stack<T>\Array等。
3.方法语法
1.方法语法使用的方法,本质上是操作对象的拓展方法,系统预定了一些,也可以自定义。
2. 如果查询表达式返回的是可枚举类型,只有在用到可枚举类型时,才会执行查询语句;如果是返回标量则立即执行。
3. 谓词,作为拓展方法的第二个参数,是一个委托或事件,接受单个T类型参数作为方法参数,并返回一个bool值。
示例:
4.LINQ to XML
4.1 XML结构和组成
XML的树组件类,结构如下:
1)XDocument
XDocument指代的就是xml文档本身,通常情况下,在其下面挂载XDeclaration、XDocumentType、XElement节点各一个,XComment、XProcessingInstruction节点任意个。
2)XDeclaration
声明必须放在第一位,依次版本号,字符编码类型,是否依赖外部引用
3) XComment
注释,无名字
4) XDocumentType
不清楚。
5) XProcessingInstruction
处理指令PI,有名字,为处理xml的解析器提供额外信息。
6) XElement
记录数据的主要结点,挂载在XDocment下的XElement(只有一个),是根结点。
7) XAttribute
属性,唯一一个不继承XNode的XML树组件类。
4.2 XML的常用操作
1)创建、保存、加载和显示XML文档
2)XML值的获取
3)XML增加,删除结点
4)XML增加,删除属性
5)Element属性的的操作
(1)属性的新建,获取,使用
(2)属性的添加、删除
4.3 LinQ To XML