Linq过滤静态列表

时间:2013-11-28 15:34:26

标签: c# linq static

我有一个静态可枚举的各种原因 - 我发现过滤不起作用 - 这是正确的行为吗?

private static IEnumerable<Perms> Perms;
private IEnumerable<Perms> GetAll()
{
     if (Perms == null || Perms.Count() == 0)
        {
            Perms = _repo.GetAllPerms();
        }
    return Perms;
}

public IEnumerable<Perms> HasAccess(IEnumerable<string> roles)
{
    var allperms = GetAll().ToList();
    return allperms.Where(p => p.RoleName == "CEO");
}

- 无论where子句

如何,它始终返回原始列表

1 个答案:

答案 0 :(得分:0)

傻傻的我。我需要一个ToList(),我在这里调用方法。 Linq被推迟执行。