C# 分组查询Linq

C# 分组查询Linq,c#,linq,C#,Linq,我有三门课: Class 1: public IEnumerable<double> Values; public Class2 class2Instance; Class2: public string Name; public Class3 class3Instance; Class3: public long Id; public string Name; 1级: 公共价值观; 公共2类2类设施; 类别2: 公共字符串名称; 公共类3类3实例; 类别3: 公共长Id; 公

我有三门课:

Class 1:
public IEnumerable<double> Values;
public Class2 class2Instance;

Class2:
public string Name;
public Class3 class3Instance;

Class3:
public long Id;
public string Name;
1级:
公共价值观;
公共2类2类设施;
类别2:
公共字符串名称;
公共类3类3实例;
类别3:
公共长Id;
公共字符串名称;
现在我收集了大量的
Class1
,类似于
IEnumerable
,我有
Class3
Id。我如何使用有效的LINQ查询来获取与
Class2
相关的所有
Class1
实例,这些实例与
Class1
Id匹配?

如果您只有一系列实例,那么您必须遍历所有实例:

var matches = collection.Where(x => x.class2Instance.class3Instance.Id == id);
如果您需要定期执行此操作,您可能需要构建一个
字典

(我假设
class2Instance
class3Instance
都不能为空。如果可以,您将需要使用类似Aducci的代码。)

如果您只有一个序列,那么您必须遍历它们:

var matches = collection.Where(x => x.class2Instance.class3Instance.Id == id);
如果您需要定期执行此操作,您可能需要构建一个
字典


(我假设
class2Instance
class3Instance
都不能为空。如果可以,您将需要使用类似Aducci的代码。)

我想您可能需要
class2Instance.class3Instance.id
我想您可能需要
class2Instance.class3Instance.id