Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ查询-在一个列表中查找';s列表包含具有特定属性的对象_C#_Linq_Unity3d - Fatal编程技术网

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();