0

もう一つ質問があります。
重複を除いて 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() メソッドがすでに重複行を除外していると仮定します)

4

1 に答える 1

-1

リストに表示するクラスは、Equals と GetHashCode をオーバーライドする必要があります。IEquatable または IEqualityComparer の実装もうまくいくと思います。

于 2013-01-16T17:39:59.377 に答える