我有一些 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/