如何搜索包含第一个条目的对象列表的对象列表,其中第一个条目包含与搜索条件匹配的元素?

时间:2019-04-03 15:03:51

标签: c# linq

我有IJapaneseDictionaryEntry个对象的列表:

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

如果这只是一个简单的列表,那么我知道如何搜索。

但是我想做的是搜索第一个IJapaneseDictionaryEntry对象,其中的IEnumerable<Kanji>对象中包含文本

任何人都可以给我有关如何执行此操作的建议吗?

2 个答案:

答案 0 :(得分:3)

entries.First(x => x.Kanjis.Any(y => y.Text.Contains("犬")))

答案 1 :(得分:1)

尝试:

entries.FirstOrDefault(x => x.Kanjis.Any(t => t.Text?.Contains("犬")));