我有一个IJapaneseDictionaryEntry
对象的列表,如下所述。其中是IKanji
个对象。
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();
有人可以告诉我如何获得汉字列表中所有Text值的列表吗?
换句话说,如果条目中有两个对象,并且第一个对象有一个包含三个条目的汉字列表,第二个对象是包含两个条目的汉字列表,那么我想看到的是一个包含5行汉字的列表。解释的方式是我想在entries
答案 0 :(得分:4)
您可以使用SelectMany
方法将多个列表展平为一个列表。在这种情况下,您可以执行以下操作:
var items = dictionary.GetEntries()
.SelectMany(x => x.Kanjis)
.Select(x => x.Text)