Non esiste uno zucchero LINQ per la creazione di unioni. Il metodo Enumerable.Union()
viene solitamente chiamato in questo modo:
var bigList = list1.Union(list2);
L'alternativa è chiamare Enumerable.Union()
che può essere più leggibile:
var bigList = Enumerable.Union(list1, list2);
Tuttavia nessuno di questi metodi è molto elegante (soprattutto, leggibile) durante il ridimensionamento Il seguente è probabilmente il metodo migliore:
var reallyBigList = list1.Union(list2).Union(list3);
Che può risultare in qualche incatenamento del metodo. Le alternative richiedono variabili incidentali:
var list1and2 = list1.Union(list2);
var reallyBigList = list1and2.Union(list3);
o
var list1and2 = Enumerable.Union(list1, list2);
var reallyBigList = Enumerable.Union(list1and2, list2);
C'è un modo pulito per creare questi sindacati più complessi? Un'estensione come Enumerable.Union(params IEnumerable<T> collections)
(usata come var reallyBigList = Enumerable.Union(list1, list2, list3)
) dovrebbe essere migliore?