2009-08-23 12 views
6

Wie kann ich Linq verwenden, um allgemeine Elemente zwischen 2 generischen Listen des Typs Zeichenfolge zu finden.Linq-Liste <string> Union

Zum Beispiel sagen, dass ich den folgenden Code haben, würde Ich mag eine Liste < String erhalten> die item2 und item3 enthalten würde:

List<string> List1 = new List<string>(); 
List<string> List2 = new List<string>(); 

List1.Add("item1"); 
List1.Add("item2"); 
List1.Add("item3"); 

List2.Add("item2"); 
List2.Add("item3"); 
List2.Add("item4"); 

Antwort

0
from item in list1 
where list2.Contains(item) 
select item 

funktioniert für valuetypes.

5

Ich weiß, LINQ wurde markiert, aber nur der Vollständigkeit halber; wenn LINQ keine Option ist;

List<string> result = list1.FindAll(list2.Contains); 
1

Wie wäre:

var List3 = list1.Intersect(list2) 
+2

Es große Teile Ihrer Antwort scheint schneiden mit meiner Antwort. – Kobi