我还有另一个问题。
我必须合并2个列表,不包括重复项。
这是我的代码:
private List<BudgetCommessa> UnisciListeSenzaDuplicati(List<BudgetCommessa> p_listBudgetCommessaEsistente, List<BudgetCommessa> listBudgetCommessaDaAggiungere)
{
//restituisco lista verificata senza doppioni
//List<BudgetCommessa> listaUnita = new List<BudgetCommessa>();
List<BudgetCommessa> listaUnita =
p_listBudgetCommessaEsistente.Concat(listBudgetCommessaDaAggiungere.Except(p_listBudgetCommessaEsistente)).ToList();
/*p_listBudgetCommessaEsistente.Union(listBudgetCommessaDaAggiungere).ToList();*/
return listaUnita;
}
我也试过了:
List<BudgetCommessa> listaUnita =
p_listBudgetCommessaEsistente.Union(listBudgetCommessaDaAggiungere)
.Distinct().ToList();
和
List<BudgetCommessa> listaUnita =
p_listBudgetCommessaEsistente.Union(listBudgetCommessaDaAggiungere).ToList();
(假设Union()方法已经排除了重复的行)
答案 0 :(得分:-1)
您在列表中输入的类必须覆盖Equals和GetHashCode。我认为实现IEquatable或IEqualityComparer也可能有用。