Прежде всего, ArrayList - это устаревшая коллекция, которая использовалась до того, как Generics был представлен в .NET.Вы не должны использовать его, если вы не создаете устаревший код.Вместо этого вам следует обратить свое внимание на класс List.
IEnumerable<int> first = new []{1,2,3};
IEnumerable<int> second = new [] {2,3,4};
List<int> intersection = first.Intersect(second).ToList(); // result {2,3}
Если вы находитесь в унаследованном режиме, вам не будут доступны дженерики, и вам придется вручную перебирать списки для поиска пересечения.