c# - 如何使用 LINQ 检索列表中包含列表特定属性的条目?
问题描述
我有一个IJapaneseDictionaryEntry
对象列表,如下所述。在 this 内部是IKanji
包含对象的Priorites
对象。
我有一件相当困难的事情想做,并希望得到任何建议/建议。我想做的是 从我创建Priority
的列表中检索具有“Frequency3”条目的条目。entries
public interface IJapaneseDictionaryEntry
{
int Sequence { get; }
IEnumerable<IKanji> Kanjis { get; }
IEnumerable<IReading> Readings { get; }
IEnumerable<ISense> Senses { get; }
}
每个对象都包含一个对象IKanji
列表
public interface IKanji
{
string Text { get; }
IEnumerable<KanjiInformation> Informations { get; }
IEnumerable<Priority> Priorities { get; }
}
这是列表:
List<IJapaneseDictionaryEntry> entries = dictionary.GetEntries().ToList();
这是我认为可能有助于解释内容的视图:
我希望这里的信息足够,因为似乎很难解释我需要检索的内容。
解决方案
这将返回至少具有 1Kanjis
且其优先级包含 Frequency3 的任何条目:
var result = entries.Where(e => e.Kanjis.Any(k => k.Priorities.Contains(Priority.Frequency3))).ToList();
推荐阅读
- html - 减小内容宽度,以便下一列内容可以显示在它旁边
- mysql - 如何在 SQL 中创建 2 路聚合/透视?
- git - 作业返回“主机密钥验证失败”。当我在 gitlab-ci 上运行 ssh
- node.js - NodeJS:在同一个项目中加载 ES 模块和原生插件
- python - 如何在不丢失值的情况下将 json 解析为 pandas 数据框?
- r - 从R中的语言对象中提取属性
- c - %[^:]: 在 sscanf() 中是什么意思?
- python - 在 Python (Anaconda) 中安装 TabNet 的问题
- c++ - clang::PluginASTAction::ActionType 中的主要操作是什么
- javascript - 如何在音频标签中使用十六进制