我有一个列表,我想创建一个没有重复值记录的新列表
public List<links> results = new List<links>();
public List<links> final_results = new List<links>();
public class links
{
public string url { get; set; }
public string title { get; set; }
public string description { get; set; }
public int place { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
结果在代码中获取它的值.唯一的Place属性可能会出现相同的记录,但其他属性是相同的.我想省略在网址,标题和说明中具有重复值的重复记录.我写了这段代码,但没有改变:
final_results = results .GroupBy(n => n.url).Select(g => g.FirstOrDefault()).ToList();
Run Code Online (Sandbox Code Playgroud)
但当我将我的重复器绑定到这个新列表时,没有任何改变.我怎么能省略这个重复值?
如果要在3个属性中抑制具有相等性的记录url,title并且description必须按所有这些记录进行分组:
final_results = results.GroupBy(n => new {n.url, n.description, n.title})
.Select(g => g.FirstOrDefault()).ToList();
Run Code Online (Sandbox Code Playgroud)