gpt4 book ai didi

.net - 将 Linq/Lambda 表达式转换为匿名方法

转载 作者:行者123 更新时间:2023-12-02 15:40:53 24 4
gpt4 key购买 nike

我通常会得到使用 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);
}
}

如何将此类表达式转换为它的任何替代项(即非 lambda 代码或匿名方法)?

谢谢

最佳答案

C# 中的 lambda 表达式实际上只是一个委托(delegate)。鉴于您使用的是 .Net 2.0,您可以使用匿名方法动态定义委托(delegate),因此将代码行替换为:

var waitCallback = new WaitCallback(
delegate(object state) {
DoSomething(workCopy, catCopy);
});

关于.net - 将 Linq/Lambda 表达式转换为匿名方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6483253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com