Чем можно заменить оператор if?
Есть большой массив чисел, допустим от -1млн до 1млн. При существовании какой-либо числа в этом масиве необходимо выполнить условие. Как, не проверяя каждый элемент if'ом, выполнить условие?
UPD: Вообще, меня интересует вопрос быстродействия, ведь каждый раз проверять отдельный элемент на соответсвие условию, по моему мнеию, не совсем рационально. Может есть какие-то другие споспобы выполнения данной задачи?
Ответы (2 шт):
Автор решения: CrazyElf
→ Ссылка
Сделать заранее из этого массива HashSet, тогда проверка будет моментальная - просто проверяете, что число есть в этом HashSet, это делается за время O(1).
Автор решения: motpfofs
→ Ссылка
Если вас беспокоит красота записи, то можно проверить наличие элемента в массиве следующим образом:
var arrayInt = new int[] { -1000000, 0, 1000000 };
if (Array.Exists(arrayInt, i => i == 3))
{
// Do some stuff
}