gpt4 book ai didi

c# - 以简单的方式替换嵌套的 foreach

转载 作者:行者123 更新时间:2023-11-30 19:23:06 25 4
gpt4 key购买 nike

我有两个嵌套的 foreach 循环:

foreach (var item in appArray)
{
if (item.Value == "True")
{
foreach (var pair in appSeedData)
{
if (item.Key.Contains(pair.Key))
pair.Value();
}
}
}

可以使用 LINQ 执行相同的代码吗?或者以最简单的方式?

最佳答案

从技术上讲,您可以放置​​一个 Linq 查询:

var actions = appArray
.Where(item => (item.Value == "True")
.SelectMany(item => appSeedData
.Where(pair => item.Key.Contains(pair.Key))
.Select(pair => pair.Value));

然后执行每个(Action?)值:

foreach (var action in actions)
action();

但我怀疑它是否更具可读性;我建议 Linqforeach 组合:

foreach (var item in appArray.Where(x => x.Value == "True")))
foreach (var pair in appSeedData.Where(p => item.Key.Contains(p.Key)))
pair.Value();

关于c# - 以简单的方式替换嵌套的 foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57088837/

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