概念
语言集成查询(Language Integrated Query, LINQ), 提供了不同数据源的抽象层,可以用相同的语法访问不同的数据源.
var query = from r in Formula1.GetElements()
where r.Comtry = "Brazil"
orderby r.Wins descending
select r;
foreach( Racer in query)
{
Console.WriteLine("{0:A}", r);
}
//虽然使用代码而非字符串来定义查询语言,但实质上代码定了委托,查询并没有立刻执行,即 query指定了LINQ查询,在foreach中查询真实执行
扩展方法
给一个现有的类增加新的方法,只可以是静态的并且不可以访问实例成员.
public static void Foo(this string s)
{
Console.WriteLine("Foo invoked for {0}", s);
}
string he = "Hello";
he.Foo();
//扩展方法为静态类中的静态方法,参数有this,其功能实现原来和普通静态方法一样,但是其使用表现更优雅.