操作符是方法,条件是lambda表达式,lambda表达式实际是一个委托对象的实例.
from s in names
where s.Length==5
orderby s
select s.ToUpper()
names.where(s=>s.Length==5)
.orderby(s=>s)
.select(s=>s.ToUpper)
var namelist = new[] { "beibei", "junjun", "xinxin" };
var name = Array.FindAll(namelist, s => s != "beibei");
foreach (var v in name)

Console.WriteLine(v);
var persons = new List<Person> {

new Person {username = "a", age=19},

new Person {username = "b", age=20},

new Person {username = "a", age=21},

};

var selectperson = from p in persons where p.age >= 20 select p.username.ToUpper();

foreach(var p in selectperson)

Console.WriteLine(p);
其中,Array.FindAll方法,第一个参数传个集合对象,第二个参数就是lambda表达式
而var selectperson后面那句上标准的Linq查询语句,且等价与下面这句,我们看到,还是用了上面的操作符加lambda表达式的形式,有人问为什么persons有where,select等方法,是因为persons是List<T>的类型,这类型的接口有相关的扩展方法了..
var selectperson = persons.Where(p=>p.age>=20).Select(p=>p.username.ToUpper());
同样的,上面那个findall方法,也可以变成Lambda表达式.
var result = from s in namelist where s !="beibei" select s;
我们看到,Linq语句可以和对象使用操作符加Lambda表达式进行转换....
今天就说到着这里..后续将开始Linq to sql
from s in names
where s.Length==5
orderby s
select s.ToUpper()
names.where(s=>s.Length==5)
.orderby(s=>s)
.select(s=>s.ToUpper)





















其中,Array.FindAll方法,第一个参数传个集合对象,第二个参数就是lambda表达式
而var selectperson后面那句上标准的Linq查询语句,且等价与下面这句,我们看到,还是用了上面的操作符加lambda表达式的形式,有人问为什么persons有where,select等方法,是因为persons是List<T>的类型,这类型的接口有相关的扩展方法了..
var selectperson = persons.Where(p=>p.age>=20).Select(p=>p.username.ToUpper());
同样的,上面那个findall方法,也可以变成Lambda表达式.
var result = from s in namelist where s !="beibei" select s;
我们看到,Linq语句可以和对象使用操作符加Lambda表达式进行转换....
今天就说到着这里..后续将开始Linq to sql