Почему мы видим интерфейс IEnumerable? Мы можем считать его потрясающим, в общем программировании мы не можем представить себе его использование, но, как говорится, существование — это истина, так что что же оно может нам принести? Чтобы понять это, давайте посмотрим на его определение! На MSDN, как говорится, это публичный enum, поддерживающий простые итерации на недженериковых коллекциях. Другими словами, для всех обходов массивов из IEnumerable мы можем использовать эту особенность для определения общего метода, позволяющего обходить массивы. Например: public static void Print(IEnumerable myList) { int i = 0; foreach (Объект obj в myList) { if (obj — Student)// Это суждение по типу, где студент — класс или структура { Студент s=(Студент)obj; Console.WriteLine("\t[{0}]:\t{1}", i++, s.Sname); } если (OBJ — int) { Console.WriteLine("INT:{0}",obj); } } Console.WriteLine(); } Выше мы можем выполнить несколько суждений if в foreach для выполнения соответствующих операций. Ещё одно применение IEnumerable — в дженериках. Запрос в массиве с выражением lamda выглядит следующим образом: <string> Список фруктов = новый список<string> { "apple", "passionfruit", "banana", "mango", «апельсин», «черника», «виноград», «клубника» }; <string> Запрос по списку = фрукты. Где (фрукт => фрукт. Длина < 6). ToList(); <string> IEnumerable query = фрукты. Где (фрукт => фрукт. Длина < 6); foreach (String Fruit в запросе) Console.WriteLine (фрукт); Что касается двух вышеуказанных примеров, думаю, их всё ещё часто используют в обычном программировании, так что стоит попробовать... |