从理论上讲,LINQ只不过是语法糖,而得到的IL代码应该与.NET 2.0中的代码相同.
如何在不使用.NET 3.5库的情况下编写LINQ?它会在.NET 2.0上运行吗?...; 如果它在编译期间引用System.Core,那么它将绑定到Framework 3.5的查询运算符.
+1我经常使用它.注意:这是LINQ to Objects(IEnumerable扩展)的实现,如果使用针对框架...基本上,任何只有"语法糖"的东西和新的编译器(C#3.0,VB 9.0)都会发布兼容2.0的IL.这包括LINQ使用的许多功能,例如匿名类,作为匿名委托的lambdas,自动属性,对象初始值设定项和集合初始值设定项...一些LINQ功能使用新的3.5程序集(例如System.Core.dll)中的类,接口,委托和扩展方法.重新分发这些程序集是违反许可证的,但可以重新实现它们.使用扩展方法只需要声明为空System.Runtime.CompilerServices.ExtensionAttribute.LINQ...到对象依赖于IEnumerable扩展和几个委托声明(中Action和Func家庭),并已在实施LINQBridge(如mausch提到).LINQ to XML和LINQ to DataSets依赖于