c# - LINQ 可以用于在单个操作中搜索多个列表吗?

标签 c# linq collections

我有一些 list :

    KeyedCollection<int, InstantiatedObjectsListType> ActiveUnitList = new InstantiatedObjectListCollection();
    KeyedCollection<int, InstantiatedObjectsListType> ActiveBuildingList = new InstantiatedObjectListCollection();
    KeyedCollection<int, InstantiatedObjectsListType> ActiveUIList = new InstantiatedObjectListCollection();
    KeyedCollection<int, InstantiatedObjectsListType> ActiveManagersList = new InstantiatedObjectListCollection();

    KeyedCollection<int, InstantiatedObjectsListType> DisabledUnitList = new InstantiatedObjectListCollection();
    KeyedCollection<int, InstantiatedObjectsListType> DisabledBuildingList = new InstantiatedObjectListCollection();
    KeyedCollection<int, InstantiatedObjectsListType> DisabledUIList = new InstantiatedObjectListCollection();
    KeyedCollection<int, InstantiatedObjectsListType> DisabledManagersList = new InstantiatedObjectListCollection();

我想通过键或值检查对象是否在这些列表中的任何一个中。 LINQ 能否用于在单个操作中搜索所有 8 个列表,还是我需要在一个链中使用 8 个单独的操作?

我知道我可以有多个操作来一次搜索一个列表,但为了简洁起见,我宁愿将其压缩为一个操作。

最佳答案

您可以合并这些列表并搜索结果。

ActiveUnitList
.Union(ActiveBuildingList)
.Union(ActiveUIList)
.Where(...)

关于c# - LINQ 可以用于在单个操作中搜索多个列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28976489/

相关文章:

c# - Windows Azure 表存储帐户中如何拥有用户和角色信息以进行系统身份验证

c# - MYSQL "use"查询在应用程序中选择数据库

c# - 包含路径表达式必须引用在类型上定义的导航属性。

java - 哪些 Java 集合是同步的(线程安全的),哪些不是?

java - < 的用途是什么?延伸 E >

c# - SSAS 与 C# 中的 XMLA 同步 - 使用 SQL 2017 中断

c# - 如何从 IntPtr 获取二进制图像数据(看起来像 multipart/form-data)

c# - 如何将 Linq 动态查询结果转换为自定义类?

c# - 将我的值类型转换为可空等效类型

java - 使用java中的比较器自定义排序