首页 > 解决方案 > LINQ Sort Distinct with Where 子句

问题描述

我正在寻求有关 LINQ 语句的帮助;首先,我有一个包含两列的列表,它们是用户帐户和他们的访问级别。

AccountID |  Access
-------------------
1374      |   4
1832      |   1
1383      |   1
1182      |   2

上面的列表是从会话缓存中获取的。

List<myUsers> users = new List<myUsers>();
users = myUsers.GetFromUserSession();

我现在想做的是创建一个新列表,其中仅包含访问权限大于或等于 3 的 AccountID 列表。这是我一直在玩的地方,但我不知道如何包含 Where正确地陈述。例如,智能感知不允许我介绍x.Access 之类的东西。

List<int> adminList = myUsers.Select(x => x.AccountID).Where(x => x >= 3).Distinct().ToList()

我现在正处于我只是在修补它直到某些东西起作用的地步,但我想我会问社区,因为我确信这对某些人来说很容易完成。

标签: c#linqlambda

解决方案


您的查询结构错误

var admins = myUsers.Where(x => x.Access >= 3)
          .Select(x => x.AccountID)
          .Distinct()
          .ToList()

推荐阅读