我有一个Dictionary,其中DetailedObject的成员是List。我正在尝试针对Dictionary编写一个查询,以返回DetailedObject具有其子SubStructure中某个字段的特定值的所有项。例如:
public struct SubStructure
{
public int Id;
public string SubSpecificFile;
}
public class DetailedObject
{
public int Id;
public List<SubStructure> subs = new List<SubStructure>();
}
public Dictionary<int, DetailedObject> dict = new Dictionary<string, DetailedObject>();
每个SubStructure都可以出现在零个或多个DetailedObject实例中。
例如,我想查询每个DetailedObject的“dict”,其“subs”集合包含Id为3的子结构项。答案 0 :(得分:6)
dict.Values.Where(d => d.subs.Any(ss => ss.Id == 3))
答案 1 :(得分:6)
var result = dict1.Where(kvp => kvp.Value.subs.Any(ss => ss.Id == 3));