gpt4 book ai didi

c# - 返回方法调用之前更新本地 iqueryable 列表

转载 作者:行者123 更新时间:2023-12-03 09:24:31 25 4
gpt4 key购买 nike

在我的原始帖子的后续问题中Using Foreach on iQueryable List find value if in 2nd List我无法找到一个解决方案,当我使用 foreach 循环进行更改时,它会更新本地列表。浏览我的 Visual Studio 调试器,如果在 LookForMe 列表中找到当前项目,它会更新 item.LinkURL 值。但是,当将 Results.ToList() 返回到我的调用方法时,此更新不在返回的集合中。在返回之前如何将它们保存到结果列表中?没有看到任何智能感知,比如 Results.Update() 或 Results.Save() 可以工作。

  foreach (var item in Results)
{
if (LookForME.Any(fs => item.LinkUrl.Contains(fs)))
{
item.LinkUrl = ServerPath + "/" + item.LinkUrl;
// works great until its time to return the updated Results list
}
// something here to update results with new value?
}

return Results.ToList();

最佳答案

您需要使用ToList首先迭代,然后修改内存中列表并返回该列表。

当前您的ResultIQueryable(更像是查询),尚未执行。

你可以这样做:

var newList = Result.ToList(); //get a in-memory list
foreach (var item in newList) //modify in-memory list
{
if (LookForME.Any(fs => item.LinkUrl.Contains(fs)))
{
item.LinkUrl = ServerPath + "/" + item.LinkUrl;
// works great until its time to return the updated Results list
}
// something here to update results with new value?
}

return newList;

关于c# - 返回方法调用之前更新本地 iqueryable 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23834346/

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