Смотря что вы проверяете в массиве...
Если все файлы, то в цикле нет смысла использовать ещё один цикл с _ArraySearch, тогда FileExists
---
Если вы проверяете один путь, то я бы не использовал массив , а загнал бы все пути в нижнем регистре в MAP библиотеку, можно Scripting.Dictionary, можно в System.Collections.Hashtable
Создание займёт менее секунды, даже если путей около 100.000
Проверка пути в библиотеке занимает миллисекунды MapExists, заодно, если есть путь в библиотеке можно проверить и FileExists, так же его можно удалить или добавить другой
Так же можно сделать доп. проверки если идут и папки и файлы в библиотеке