我有3门课:
Class 1:
public IEnumerable<double> Values;
public Class2 class2Instance;
Class2:
public string Name;
public Class3 class3Instance;
Class3:
public long Id;
public string Name;现在,我有了一个类似于IEnumerable<Class1>的巨大的Class1集合,并且我有了Class3 Id。如何使用高效的LINQ查询来获取与Class2相关的所有Class1实例,并与Class1 ID匹配?
发布于 2012-06-27 00:56:36
如果你只得到了它们的一个序列,你必须把它们都看一遍:
var matches = collection.Where(x => x.class2Instance.class3Instance.Id == id);如果您需要定期执行此操作,则可能需要构建一个Dictionary<long, Class1>。
(我假设class2Instance和class3Instance都不能为空。如果可以,您将需要使用像Aducci这样的代码。)
发布于 2012-06-27 00:57:30
var query = from x in class1Enumerable
where x.class2Instance != null
where x.class2Instance.class3Instance != null
where x.class2Instance.class3Instance.id == yourId
select x;https://stackoverflow.com/questions/11212254
复制相似问题