2015-08-04 3 views
0

У меня есть list1 с этих пунктов:поиск Количество в list2.item в list1

"Test1" 
"TestB" 
"TestA" 

и я list2 с этими предметами:

"Test1" 
"Test2" 
"Test3" 
"Test4" 
"Test5" 

Корпус: list2.Test1 единственный элемент из list2, который встречается в list1, это положительный случай.

если list1 имеет один элемент list2 затем ...

Как я могу выразить, что с помощью LINQ?

+4

'list2.Intersect (list1)' - для получения элементов, которые встречаются в обеих коллекциях. –

+0

@FarhadJabiyev Вы имеете в виду, что в отдельном списке результатов может быть ровно один такой же элемент, тогда мой случай положительный? – Elisabeth

+1

'Intersect' вернет вам' IEnumerable'. Затем вы можете использовать любой метод расширения, например 'Any()', 'Distinct()', 'Count()' и так далее ... –

ответ

3
var count = list2.Count(x => list1.Contains(x)); 

или

var count = list2.Intersect(list1).Count(); 
0

Попробуйте

Использование Except:

var count = list2.Except(list1).Count(); 

или

var count = list2.Intersect(list1).Count(); 

или

var count = list2.Count(x => list1.Contains(x));