2016-06-21 20 views
1

Ich habe zwei Immobilien für readonlucollection und IList und erstellt eine andere Eigenschaft von List<string> OptionList ist readonlycollection<string> verketten und ForList ist IList<string> Aber ich vollständige Liste nicht in kombinieren Liste bekommen es einige Elemente übersprungen von optionlist.Wie Readonlycollection <string> und IList <string>

Wie bekomme ich die vollständige Liste?

public List<string> CombineList { 
    get { 
     return OptionList.Union(ForList).ToList(); 
    } 
} 

Antwort

2

Union Methode überspringt Elemente, die beiden Listen gemeinsam sind. Wenn Sie möchten, eine Liste haben, die Duplikate hält, verwenden Verkettung statt Vereinigung:

return OptionList.Concat(ForList).ToList(); 
2

Verwenden Concat wenn Sie verketten möchten. Union hat eine implizite eindeutige eingebaute.

0

Das Problem könnte Union sein und dass Sie nicht Concat verwenden. Es gibt eine leichte diference, die in dem unten stehenden Beitrag beschrieben: (hoffte diesen helpes :))

In diesem Beitrag: Union Vs Concat in Linq

ich diesen Ansatz empfehlen würde:

OptionList.Concat(forList).ToList(); 
Verwandte Themen