2009-08-23 2 views
6

Как я могу использовать Linq для поиска общих элементов между двумя обобщенными списками строки типа.Linq List <string> union

Например, у меня есть следующий код, я хотел бы получить список < строку>, который будет содержать item2 и item3:

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"); 

ответ

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

будет работать для ценностей.

5

Я знаю, что LINQ отмечен, но только для полноты; если LINQ не является опцией;

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

Как насчет:

var List3 = list1.Intersect(list2) 
+2

кажется большую часть вашего ответа пересекаться с моим ответом. – Kobi