c# - 如何使用 LINQ 检索列表中包含列表特定属性的条目?

标签 c# linq

我有一个 IJapaneseDictionaryEntry 对象列表,如下所述。这里面是包含 Priorites 对象的 IKanji 对象。

我有一件相当困难的事情我想做,如果有任何意见/建议,我将不胜感激。我想要做的是从我创建的列表 entries 中检索具有 Priority 为“Frequency3”的条目的条目。

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();

下面是我认为可能有助于解释内容的 View :

enter image description here

我希望这里的信息足够了,因为似乎很难解释我需要检索的内容。

最佳答案

这将返回至少有 1 个 Kanjis 且其优先级包含 Frequency3 的任何条目:

var result = entries.Where(e => e.Kanjis.Any(k => k.Priorities.Contains(Priority.Frequency3))).ToList();

关于c# - 如何使用 LINQ 检索列表中包含列表特定属性的条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55510919/

相关文章:

c# - 日期时间格式 : Why don't ToShortTimeString and "{0:t}" display the same thing?

c# - 使用 stub 实体更新实体关系时出现问题

c# - 将 LINQ 结果转换到 ObservableCollection

c# - 在内存中存储大量文本

c# - 如何查询 Azure CosmosDB/DocumentDB 中的字典内容?

c# - 使用中间件的聊天记录

c# - 如何忽略公共(public)类或方法的帮助文件生成器生成的文档?

c# - 断言 C# + 何时使用它们

ASP.net 4.0 实体数据模型 Mysql 未正确处理 Mysql 枚举

c# - 在 LINQ 中连接两个列表