如果我有Visual Studio 2008,我的目标是一个.NET 2.0应用程序,我还可以使用Lambda表达式吗?我对Lambda表达式的理解是,它是编译器内置的功能,而不是框架,所以我的结论是我可以在.NET 2.0应用程序中使用Lambda。有人可以告诉我,如果是这样吗?VB.NET Lambda表达式
5
A
回答
12
是的,这是完全支持。只要您不建立表达式树或以其他方式引用System.Core,System.Xml.Linq等......在向下目标2.0的应用程序中使用Lambda表达式是完全合法的。 VS2008(VB9)中引入的任何其他编译器功能都是如此。
EDIT
若干答案错误状态Lambda表达式是3.5或3.0的特征的特征。 Lambda表达式是一种编译器功能,不是Framework框架。它们不需要框架支持就可以运行,在目标应用为2.0的应用程序中使用它们是完全合法的。
如果您使用lambda作为表达式树,唯一会遇到麻烦的地方是。表达式树既是编译器和框架功能,也需要3.5才能正常工作。但是,我们必须努力实现这一目标,因为我们积极地尝试阻止其发生。
-3
它不起作用。使用Linq需要System.Linq成为.NET 2.0所没有的框架程序集的一部分。
2
是的你是对的。您可以使用lambda表达式代替匿名方法。编译器会将其余的排序。试试这个:
int sum = 0;
Array.ForEach(new[] {1, 2, 3, 4}, x => sum += x);
你不能做的是使用.net 3.5(即Linq)的任何新功能。这样做需要添加对.NET 2.0中不存在的System.Linq,System.Core等的引用。
相关问题
- 1. Lambda表达式:CS到VB.Net
- 2. VB.NET TextBoxFor Lambda表达式
- 3. VB.NET lambda表达式示例
- 4. vb.net lambda表达式问题
- 5. C#Lambda表达式到VB.Net
- 6. vb.net vs C#lambda表达式
- 7. 计算方差与VB.NET lambda表达式
- 8. 如何编写VB.Net Lambda表达式
- 9. 异步lambda表达式中VB.NET
- 10. VB.NET Lambda表达式代替迭代器
- 11. vb.net中的lambda表达式错误
- 12. 在vb.net中表达的这个lambda表达式
- 13. Lambda表达式
- 14. Lambda表达式
- 15. Lambda表达式
- 16. Lambda表达式
- 17. Lambda表达式
- 18. Lambda表达式
- 19. Lambda表达式
- 20. Lambda表达式
- 21. Lambda表达式
- 22. lambda表达式
- 23. Lambda表达式()
- 24. lambda表达式
- 25. lambda表达式
- 26. Lambda表达式
- 27. Lambda表达式与表达
- 28. winform combobox lambda表达式
- 29. LINQ Lambda表达式
- 30. Linq Lambda表达式
是的,丹丹的权利。另外,不,你不能通过将它们放在你的箱子中来引用3.5程序集。我问过......问题是系统命名空间也有很多变化。 – andy 2009-07-21 23:05:22