2017-08-16 69 views
0

我试图从列表中删除重复的值,但它不工作。我点击按钮来执行不同的功能,但最终的结果和相同的输入从列表中删除重复的项目

List<Cliente> clientes = new List<Cliente>(); 

Cliente.cs

namespace cadastroClientes 
{ 
    public class Cliente 
    { 
     public int ID { get; set; } 
     public string Nome { get; set; } 
     public string Email { get; set; } 
     public bool Enviado { get; set; } 

     public Cliente(int id, string nome, string email, bool enviado = false) 
     { 
      ID = id; 
      Nome = nome; 
      Email = email; 
      Enviado = enviado; 
     } 

     public override string ToString() 
     { 
      return string.Format("{0}", Nome); 
     } 
    } 
} 

删除重复的:

List<Cliente> distic = clientes.Distinct().ToList(); 
StringBuilder sb = new StringBuilder(); 
foreach (Cliente cliente in distic) 
{ 
    sb.AppendLine(cliente.Nome); 
} 

MessageBox.Show(sb.ToString()); 
+0

你必须重载equals()方法在你Cliente类鲜明的()工作。 – s1lence

+0

也许你应该在Cliente类中实现Equals方法。否则,它将通过引用来比较对象。 – heringer

+0

谢谢,作品像一个魅力! –

回答