1
A
回答
7
您可以使用anonymous method代替:
Action<String> action = delegate (string v) { names.add(v); };
,将工作,如果现有的lambda表达式转换成一个代表。它不会工作时,现有的lambda表达式被转换为表达式树。
(你真的需要使用C#2,但?伊克。不要忘了,你可以使用C#3或更高,但仍然面向.NET 2,如果是这样的真正要求,生产力的好处对于使用C#3和更高版本,确实可以升级您的Visual Studio版本......)
1
在这个特定的示例中,lambda箭头实际上只是调用已存在的未经更改参数列表的方法,您也可以使用“方法组”。
所以
v => names.Add(v)
可以只用
names.Add /* OK in C# 2.0, method group conversion */
被取代,但在拉姆达不只是等同于现有的命名方法,一般情况下,使用匿名方法像其他答案建议:
delegate (string v) { names.Add(v); }
所有这些表达式都可以分配给委托类型如Action<string>
有一个string
参数(值参数)并返回void
。
相关问题
- 1. 转换lambda表达式表达式树
- 2. 将C#lambda表达式转换为VB
- 3. c#FsCheck无法转换lambda表达式
- 4. c#HtmlHelper不能转换lambda表达式
- 5. lambda表达式转换
- 6. Lambda表达式Java转换
- 7. 转换成Lambda表达式
- 8. C#Lambda表达式
- 9. lambda表达式c#
- 10. C++ lambda表达式
- 11. C#表达式Lambda
- 12. 转换SQL查询到lambda表达式
- 13. 转换lambda表达式字符串
- 14. lambda表达式都被转换为BiConsumer
- 15. 将此LINQ转换为Lambda表达式?
- 16. 转换阵列迭代lambda表达式
- 17. LINQ - 转换为Lambda表达式
- 18. 将sql转换为Lambda表达式
- 19. 将此LINQ表达式转换为Lambda
- 20. 转换LINQ查询到lambda表达式
- 21. 在Dispatcher.Invoke转换lambda表达式
- 22. 转换查询Lambda表达式
- 23. Linq查询转换为lambda表达式?
- 24. 将LINQ转换为lambda表达式
- 25. 转换SQL到lambda表达式或LINQ
- 26. Lambda到表达式树转换
- 27. 转换为LINQ lambda表达式
- 28. 函数表达式可以转换为Lambda表达式
- 29. 如何将表达式转换为lambda表达式?
- 30. 变换lambda表达式
感谢@Jon为您的快速回复..将检查并回来.. – csLijo
@csLijo:还记得.NET 3.5只是.NET 2.0 SP2的一些额外的程序集。假设您不使用新功能,它与服务包一样安全,因此与您正在使用的新功能一样危险。 –
谢谢@Jon:问题解决 – csLijo