IEnumerable: то, что, делает это означает в контексте ООП

Сначала включите Мультивселенную repository.to, делают, которые открывают Software Sources и нажимают spftware restricted by copyright(multiverse repository) (можно также включить все, поскольку я сделал)

enter image description here

, Затем просто открывают терминал и тип
sudo apt-get install ubuntu-restricted-extras

Также как в случае, который Вы, кажется, не имеете Python. Установка, которые путем ввода
sudo apt-get install python
, если это не работает затем, загружают этот пакет: Python для систем на 32 бита

6
задан Ahmad Mageed 1 September 2009 в 10:18
поделиться

4 ответа

IEnumerable

Существует много разных способов, которыми набор вещей может быть сохранен в списке, в массиве, в базу данных и т. д. Эти механизмы хранения объединяет то, что набор вещей может быть пронумерован , то есть к каждому из них можно получить доступ один за другим, используя языковая конструкция, например foreach .

Интерфейс IEnumerable представляет тот общий интерфейс, который все держатели наборов вещей должны разрешить перечисление. Следовательно, IEnumberable < Person представляет интерфейс, который позволяет перечислять Набор объектов Person без указания фактического способа хранения этих объектов.

IQueryable

Это расширение to IEnumerable , но представляет собой нечто специфическое для LINQ. В LINQ вы можете указать запрос , который может фильтровать и преобразовывать набор (или наборы) элементов. В отличие от чисто IEnumerable интерфейса это было бы известно как LINQ to Objects, в котором каждый этап запроса в конечном итоге представляет собой простой вызов метода расширения.

Однако в отношении объекта, реализующего IQueryable вещи могут быть более сложными. Объект, реализующий IQueryable может быть связан с другим поставщиком LINQ , который может реализовывать выполнение запросов LINQ другим способом. Например, IQueryable может быть реализован с помощью типа, связанного с поставщиком LINQ-To-SQL. В этом случае запрос LINQ преобразуется в запрос T-SQL и выполняется в базе данных для получения набора элементов (результат не обязательно может быть набором объектов Person ).

4
ответ дан 11 December 2019 в 00:41
поделиться

IEnumerable ничего не значит в контексте ООП.

IEnumerable и IEnumerable - это интерфейсы .NET, которые просто указывают что последовательность может быть пронумерована. Классы, реализующие IEnumerable или IEnumerable , предоставляют свойства / методы, чтобы сделать это перечисление возможным.

Например:

IEnumerable<Person> people = GetPeopleFromSomewhere();

// iterate through the sequence
foreach (Person p in people)
{
    Console.WriteLine(p.Name);
}

// use LINQ to query the sequence
var peopleOver30 = people.Where(p => p.Age > 30);
3
ответ дан 11 December 2019 в 00:41
поделиться

IEnumerable - это тип платформы .NET. Он просто представляет собой перечисляемую последовательность элементов без каких-либо методов для управления этой последовательностью. Многие типы реализуют этот интерфейс, например ICollection , IList и BindingList , и он обычно используется вместо конкретный тип поля или переменной, если последовательность должна рассматриваться как доступная только для чтения.

0
ответ дан 11 December 2019 в 00:41
поделиться

IQueryable расширяет IEnumerable и предназначен для реализации поставщиками LINQ. Вы можете выполнять запросы к любому провайдеру - т.е. абстрагироваться от поставщиков различий через этот интерфейс. Он расширяет IEnumerable, чтобы можно было повторять результаты запроса. например, перебрать все объекты Person с помощью LastName.equals ("Smith")

IEnumerable означает, что переменная относится к объекту, который позволит вам выполнять итерацию / перечисление / цикл для коллекции объектов Person

foreach(Person person in people)
  Console.WriteLine(person.ToString());

Это немного сложно объяснить (Джон Скит отлично справился с этим в своей книге). Тип, реализующий IEnumerable, в основном заявляет, что я могу предоставить вам объект-итератор (через метод интерфейса GetEnumerator), предоставляющий интерфейс IEnumerator, который можно использовать для доступа к элементу Current в коллекции и MoveNext для перехода к следующему элементу в списке. конструкция foreach внутренне вызывает вышеуказанные операции для достижения своей цели.
Тип, реализующий IEnumerable, в основном заявляет, что я могу предоставить вам объект-итератор (через метод интерфейса GetEnumerator), предоставляющий интерфейс IEnumerator, который можно использовать для доступа к элементу Current в коллекции и MoveNext для перехода к следующему элементу в списке. конструкция foreach внутренне вызывает вышеуказанные операции для достижения своей цели.
Тип, реализующий IEnumerable, в основном заявляет, что я могу предоставить вам объект-итератор (через метод интерфейса GetEnumerator), предоставляющий интерфейс IEnumerator, который можно использовать для доступа к элементу Current в коллекции и MoveNext для перехода к следующему элементу в списке. конструкция foreach внутренне вызывает вышеуказанные операции для достижения своей цели.
См. пример в MSDN , Реализуйте итератор самостоятельно, и он будет более понятным.

0
ответ дан 11 December 2019 в 00:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: