Linq nested list expression
我需要你的帮助来表达一下Linq:
我用列表嵌套了对象,这是主对象层次结构的样子(每个破折号都是子类的一个属性):
1 2 3 4 5 6 7 | Folder -name -List<Subfolder> Subfolders -name -List<Document> Documents -name -key |
有了这个对象层次结构,我就有了一个文档名,我想搜索它并返回它的父文件夹(子文件夹)
例子:
1 2 3 4 5 6 7 | Folder -name: Customer -List<Subfolder> Subfolders -name: Personal -List<Document> Documents -name: Resume -key : 1 |
如果我说:"resume",linq表达式应该返回我:子文件夹"personal"(对象)。
请帮帮我,因为我有两个嵌套列表,有一个很容易。
事先谢谢。
1 2 3 | folders .SelectMany(s => s.SubFolders) .FirstOrDefault(s => s.Documents.Any(d => d.Name =="Resume")); |
我是从臀部开始射击,但我认为这应该管用……
这很容易:
1 2 3 4 5 6 7 | var folders = ...; var subfolders = from folder in folders from subfolder in folder.Subfolders where subfolder.Documents.Any(d => d.Name =="Resume") select subfolder; |
想想林克!