在C#中,假設我有一個名爲Note的類,其中包含三個String成員變量。獲取列表中不同值的列表
public class Note
{
public string Title;
public string Author;
public string Text;
}
而且我有注意類型的列表:
List<Note> Notes = new List<Note>();
什麼會得到在作者列中所有不同值的列表,最徹底的方法?
我可以遍歷列表並添加所有不重複的值到另一個字符串列表,但這看起來很髒並且效率低下。我有一種感覺,有一種神奇的Linq結構可以做到這一點,但我一直無法提出任何想法。
Notes.Select(x => x.Author).AsParallel()。Distinct();如果我們不關心訂單並在列表中包含更多項目,「AsParallel()」可能會帶來一些性能優勢。 – Sai 2015-10-22 20:58:59
@Kiquenet,考慮到'Default'相等比較器。 https://msdn.microsoft.com/zh-cn/library/bb348436(v=vs.110).aspx – 2016-01-21 23:01:06
是否需要在.Distinct()之前添加ToList()? – 2017-01-05 01:44:29