gpt4 book ai didi

c# - 使用循环转换此 linq 表达式

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:25 24 4
gpt4 key购买 nike

我正在尝试调试一位开发人员编写的代码,而 LINQ 表达式使这项任务变得很痛苦。我不知道如何围绕复杂的 LINQ 表达式进行调试,所以谁能告诉我没有它们的等效代码是什么?

instanceIdList.AddRange(
strname.Instances
.Where(z => instancehealthList.Find(y => y.InstanceId == z.InstanceId
&& y.State == "InService") != null)
.Select(x => x.InstanceId)
.ToList()
.Select(instanceid => new ServerObj(servertype, instanceid))
);

这也写得好吗?一般来说,这种 LINQ 是受到鼓励还是受到反对?

最佳答案

使用循环重构查询看起来像这样:

var serverObjList = new List<ServerObj>();
foreach (var inst in strname.Instances)
{
foreach (var health in instancehealthList)
{
if (inst.InstanceID == health.InstanceID && health.State == "InService")
{
serverObjList.Add(new ServerObj(servertype, health.InstanceID));
break;
}
}
}

关于c# - 使用循环转换此 linq 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19059168/

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