Smi*_*ith 1 .net linq lambda anonymous-methods
我经常得到使用lambda表达式的代码示例.我仍然使用.net 2.0,并且发现很难使用这样的代码,例如
foreach(var item in items)
{
var catCopy = item;
foreach(var word in words)
{
var wordCopy = word;
var waitCallback = new WaitCallback(state =>
{
DoSomething(wordCopy, catCopy);
});
ThreadPool.QueueUserWorkItem(waitCallback);
}
}
Run Code Online (Sandbox Code Playgroud)
我如何将这种表达式转换为任何替代方法(即非lambda代码或匿名方法)?
谢谢
C#中的lambda表达式实际上只是一个委托.鉴于您使用.Net 2.0,您可以使用匿名方法动态定义委托,因此用以下代码替换代码行:
var waitCallback = new WaitCallback(
delegate(object state) {
DoSomething(workCopy, catCopy);
});
Run Code Online (Sandbox Code Playgroud)