簡體   English   中英

選擇對象列表中對象的屬性,該對象也位於另一個對象列表中

[英]Select property of an object that is in a list of objects which is also in another list of objects

我有下一個arhitecture:

public class Element
{
    public uint Id { get; set; }
    public ICollection<ElementDetails> elementDetails { get; set; }
}
public class ElementDetails
{
    public string ElementTitle { get; set; }
    public string Content { get; set; }
}

並且List<Element> someList包含數百個元素。 我正在嘗試獲取包含某個文本的ElementTitle(字符串)列表(我稱之為“種子”)。 我想要實現它是一種先行者。 這是我的嘗試:

List<Element> suggestedElements = someList.Where(s => s.elementDetails.Any(ss => ss.ElementTitle.Contains(seed))).ToList();
List<string> suggestions = suggestedElements .SelectMany(t => t.elementDetails.Select(x => x.ElementTitle)).ToList() }); // contains all ElementTitle, including those ElementTitle that don't contain the "seed"...

我怎樣才能擺脫那些不含種子的元素?

List<string> suggestions = someList.SelectMany(x => x.elementDetails)
                                   .Where(y => y.ElementTitle.Contains(seed))
                                   .Select(z => z.ElementTitle)
                                   .ToList();

更簡單:

List<string> suggestions  = someList.SelectMany(x => x.elementDetails)
                                    .Select(y => y.ElementTitle);
                                    .Where(z => z.Contains(seed))
                                    .ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM