Предполагая, что это List<string>
и вы используете .NET 3.5 или выше, вы можете использовать метод Intersect
из LINQ to Objects:
var intersection = stringArray.Intersect(stringList);
Обратите внимание, чтоэто вернет лениво оцененный IEnumerable<string>
.Если вам это нужно в массиве или списке, вызовите соответствующий метод:
var intersectionArray = stringArray.Intersect(stringList).ToArray();
// or
var intersectionList = stringArray.Intersect(stringList).ToList();
Также обратите внимание, что это операция set - поэтому результат не будет содержать дубликатов, дажеесли имеется дублирование определенного элемента в обеих исходных коллекциях.