gpt4 book ai didi

c# - 减少两个 foreach 循环中的执行时间

转载 作者:行者123 更新时间:2023-11-30 16:41:19 26 4
gpt4 key购买 nike

//Get linked claim for children list from ClaimLink
foreach (var claim in processedClaims)
{
if (claim.Children == null)
{
claim.Children = new List<Claim>();
}
var claimRelationList = newClaimLink.Where(k=> k.ClaimLinkId == claim.Id).ToList();
if (claimRelationList.Any())
{
//Get the claim for all selected ClaimLink
foreach (var claimLink in claimRelationList)
{
var newChildren = claims.Where(p => p.Id == claimLink.ClaimId).ToList();
claim.Children = claim.Children != null && claim.Children.Any() ? newChildren.Concat(claim.Children) : newChildren;
}
}
}

我想减少上面两个 foreach 循环的执行时间。还有比这更好的方法吗?

最佳答案

您可以删除 if (claimRelationList.Any()) 条件,因为以下 foreach 不会遍历空列表。您已经知道 claim.Children 在其中 for each 不为空,因为您在上面对其进行了初始化。所以我会替换

claim.Children = claim.Children != null && claim.Children.Any() ? newChildren.Concat(声明.Children) : newChildren;

claim.Children.AddRange (newChildren)

关于c# - 减少两个 foreach 循环中的执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49534267/

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