LINQ - 在对象列表中的对象中按属性选择

The*_*ner -1 c#

我有一个名为LanguageItem的自定义对象列表.该LanguageItem包含一个名为"Tag"的项目列表.每个标签都有一个ID.

现在我已经阅读了LINQ,但所有的例子(我在这个网站和其他人在阅读我的问题之前阅读过)似乎都集中在你正在搜索的列表对象中的一个属性.

所以,假设我有一个标签,所以我有我的标签ID.我想要的是一个LanguageItems列表,其中包含一个带有该ID的标签.

我有过几次尝试,但我似乎没有任何进展,所以我转向你们.

Leo*_*ger 5

看看这段代码是否对你有帮助.

public IEnumerable<LanguageItem> GetItemsByTagID(string targetID)
{
    var result = LanguageItems.Where(lItem => lItem.Tags.Any(tagItem => tagItem.ID == targetID));
    return result;
}
Run Code Online (Sandbox Code Playgroud)