1.LINQ解析
语言集成查询,包含4个组件
Linq to SQL :查询数据库的数据
Linq to DataSet :查询DataSet中的数据,对其增删等操作
Linq to XML :查询XML文件
Linq to Objects :查询集合数据,如数组或List
1.int[] array = { 23, 4, 1, 67, 343,}; //from int a in array a的类型可以省略
IEnumerable <int > tt = from a in array //用var 代替 IEnumerable <int >
where a % 2 == 0 //Ling解析的返回值是容器,保存着所有找到的元素
orderby a descending //降序 默认为生序ascending
select a; //select new{ a.Name,a.Age}
foreach (int item in tt) {Console.WriteLine (item);}
2.var result = from c in ayya //result 保存的分组
group c by c.Class; //按班级分组
foreach (var c in result)
{ Console.WriteLine( c.Key ); //c.key是分组的值
foreach (var tt in c)
{ Console.WriteLine (tt); } //遍历分组的元素
}
3.int [] a={…}; int [] b={…};
var result = from x in a //从多个数组中选择元素
from y in b
let s = x+y //判断求和
where s ==10
select new{ A =x, B =y}
foreach(var v in result){ … }
2.LINQ查询XML文件
public static string bookStr = "<root>" +
"<book>" +
"<bookname>《水浒传》</bookname>" +
"</book>" + …;
int main()
{ XElement xm = XElement.Parse (bookStr); //Parse解析得到根标签
Console.WriteLine (xm.Name); //Name属性是标签的名字
var books = xm.Elements ("book"); //得到子标签
foreach (var item in books)
{ Console.WriteLine (item.Name);
XElement ne = item.Element ("bookname");
Console.WriteLine (ne.Value); //value标签的值}
}
}