LINQ
LINQ概述
LINQ由三部分组成:LINQ TO ADO.NET.LINQ TO Objects和LINQ TO XML;LINQ TO ADO.NET可分为LINQ TO SQL 和LINQ TO DATASET.
1.使用var创建隐型局部变量
在c#中可以不明确指定变量的数据类型,使用var关键字来声明.它指示编译器根据初始化语句右侧的表达式来推断变量的类型
例
static void Main(string[] args)
{
string[] a = { Console.ReadLine() };
var ChangedWord = from word in a
select new { upper = word.ToUpper(), lower = word.ToLower() };//定义隐式查询表达式
foreach (var vword in ChangedWord)
{
Console.WriteLine("大写{0},小写{1}", vword.upper,vword.lower);
}
Console.ReadLine();
}
Lambda表达式
Lambda表达式是一个匿名函数,它可以包含表达式和语句,并且可以创建委托或表达式树类型.所有Lambda表达式都使用运算符"=>".Lambda运算符的左边是输入参数,右边是表达式或语句块.string[] a = { "c#", "c#1", "java" }; string[] b = Array.FindAll(a, s => (s.IndexOf("c#") >= 0)); //使用Lambda查找数组中包含"C#的字符串"; foreach (var i in b) { Console.WriteLine(i); }
LINQ查询表达式
LINQ查询表达式包含8个子语句,分别为from,select,group,where,orderby,join,let,into
from:指定数据源和范围变量
select:指定当执行查询时返回的序列中的元素将具有的类型和型式
group:按照键值对查询结果分组
where:根据一个或多个由“与”和“或”分割的布尔表达式筛选源元素
orderby:按升序或降序对查询结果排序
join:基于两个指定匹配条件之间的相等比较来连接两个数据源
let:引入一个用于存储查询表达式中的字表达式结果的范围变量
into:提供一个标识符,可以充当对join group select子句结果的引用