Рассмотрим методы расширения, которые реализуют выше перечисленные варианты. Для того, чтобы методы можно было применять к разным типам данных, будем использовать
универсальные шаблоны(generics).
Линейный поиск
Для начала создадим статический класс, в кото-рый будем помещать все рассмотренные методы. Добавим в класс метод для проверки(не имеет смысла работать с пустым массивом):
public static class ArrayExt {
private static void CheckArray (T[] a) {
if (a == null) {
throw new ArgumentNullException("Массив не может быть нулевым"); }
if (a.Length == 0) {
throw new ArgumentException("Длина массива должна быть больше нуля"); }