我们可以在面向 .Net 2.0 框架的应用程序中使用哪些 C# 3.0 语言功能?
PS:我知道很少像 Lambda 表达式和 var
关键字
最佳答案
我有一个 article on this very topic .
简而言之:
支持:
- 自动实现的属性、隐式类型的局部变量和数组、对象和集合初始值设定项、匿名类型、部分方法、转换为委托(delegate)类型的 lambda 表达式。
部分支持:
- 扩展方法(需要一个属性)和查询表达式(需要像 LINQBridge 这样的东西才有用)
不支持:
- Lambda 转换为表达式树
事实上,我听说在 Mono 的 System.Core
实现的帮助下, 可以转换为表达式树。不过我还没有尝试过...我一直想这样做(然后更新页面)。
关于C# 3.0 在 .Net 2.0 上的兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1404507/