Если массив отсортирован, то это самое быстрое:
Array.BinarySearch(myArray, value) >= 0;
Если в массиве выполняется большой и редко изменяемый поиск, то может оказаться целесообразным отсортировать массив после модификации (используя Array.Sort
) и использовать приведенное выше. В противном случае используйте опцию, которую вы предпочитаете:
Array.IndexOf(myArray, value) >= 0; //.Net 1
Array.Exists(array, delegate(int x) { return x == value; }); //.Net 2
myArray.Contains(value); //.Net 3
IndexOf
имеет лучшую производительность для несортированных массивов. Второй вариант использует предикатный делегат, а третий требует создания объекта перечислителя.