C# LINQ查询-在一个列表中查找';s列表包含具有特定属性的对象
我有一个具有两个属性的结构:C# LINQ查询-在一个列表中查找';s列表包含具有特定属性的对象,c#,linq,unity3d,C#,Linq,Unity3d,我有一个具有两个属性的结构: public struct RoomExit { public RoomExitType Type; public bool isOccupied; } 此房间对象可以有多个RoomExit结构: public class Room : MonoBehaviour { public List<RoomExit> Exits; } 我不知道如何设计查询的下一部分,该部分尝试查看Exits列表中的某个结构是否具有等于RoomExi
public struct RoomExit
{
public RoomExitType Type;
public bool isOccupied;
}
此房间对象可以有多个RoomExit
结构:
public class Room : MonoBehaviour
{
public List<RoomExit> Exits;
}
我不知道如何设计查询的下一部分,该部分尝试查看Exits列表中的某个结构是否具有等于RoomExitType.a的RoomExitType。下面是我尝试做的视觉示意图:
您正在查找
Any()
LINQ运算符:
RoomExitType selectedType = RoomExitType.A; // Or RoomExitType.C or whatever
List<GameObject> SelectedRooms = Rooms
.Where(x => x.GetComponent<Room>().Exits.Any(e => e.Type == selectedType)
.ToList();
RoomExitType selectedType=RoomExitType.A;//或者RoomExitType.C之类的
列出所选房间=房间
.Where(x=>x.GetComponent().Exits.Any(e=>e.Type==selectedType)
.ToList();
List<GameObject> SelectedRooms = Rooms.Where(x => x.GetComponent<Room>().Exits.Contains(???))
var query = Rooms.Where(room => room.Exits.Any(e => e.Type == RoomExitType.C))
RoomExitType selectedType = RoomExitType.A; // Or RoomExitType.C or whatever
List<GameObject> SelectedRooms = Rooms
.Where(x => x.GetComponent<Room>().Exits.Any(e => e.Type == selectedType)
.ToList();