gpt4 book ai didi

c# - 为什么要做局部变量?

转载 作者:太空狗 更新时间:2023-10-30 00:26:40 26 4
gpt4 key购买 nike

resharper 让我把它变成一个局部变量,并写下“访问修改后的闭包”

if (filter != null)
{
if (filter.CityId != 0)
{
ads = ads.Where(x => x.Ad.CityId == filter.CityId);
}
if (filter.BusinesCategoryId != 0)
{
ads = ads.Where(x => x.BusinessCategoryId == filter.BusinesCategoryId);
}
}

为什么要进行局部变量过滤?

最佳答案

因为您的查询(Where(...)) 没有被执行。我假设过滤器是从循环中获得的?

Linq 查询在使用之前不会执行。因此,如果您循环通过一堆过滤器然后稍后开始执行它们,则查询中的过滤器值将是错误的。

类似的问题:Access to Modified Closure还有:http://devnet.jetbrains.net/thread/273042

需要查看更多代码才能 100% 确定。

关于c# - 为什么要做局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10117881/

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