当前位置: 首页 > 编程语言 > C#

LINQ:基于子列表中的属性进行分组分享

时间:2023-04-10 21:22:01 C#

C#学习教程:LINQ:GroupingBasedonAttributesinSublists我想根据名称为ID的元数据标签对文档进行分组,并将它们分组,其中ID属性的值相同。我试过这个:varx=response.Document.GroupBy(d=>d.Metadata.Where(dc=>dc.Name==DocProperty.ID).Select(dc=>dc.Value));这将生成单个文档的列表,但不会对ID进行分组。还可以考虑选择不同的ID列表,然后遍历文档列表并找到与ID匹配的文档。这看起来开销很大,因为对于不同列表中的每个ID,我每次都必须进入元数据列表并查找文档,并且必须对找到的多个项目进行额外检查,获取我需要的属性等。任何人都知道如何让这个东西工作?varx=fromdocinsourcefrommetaindoc.Metadatawheremeta.Name==DocProperty.Idgroupdocbymeta.Value;or(comments)asfluentnotation:以上就是C#学习教程:LINQ:Basedonsublists如果对你有用,需要进一步了解C#学习教程,希望大家多多关注——vary=source.SelectMany(doc=>doc.Metadata,(doc,meta)=>new{doc,meta}).Where(pair=>pair.meta.Name==DocProperty.Id).GroupBy(pair=>pair.meta.Value,pair=>pair.doc);本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: