Содержание
- 2. Интерфейс IEnumerable и IEnumerator Любая коллекция реализует интерфейс IEnumerable. public interface IEnumerable : IEnumerable { IEnumerator
- 3. Ключевое слово yield Главным в интерфейсе IEnumerator является метод MoveNext(), поэтому итератор можно объявить, запрограммировав одну
- 4. Примеры итераторов Итератор может сам вырабатывать последовательность значений. Итератор может основываться на входной последовательности. static IEnumerable
- 5. Задание 0 Реализовать итератор, который позволит проходить любой целый массив в обратном порядке. Реализовать обобщенный итератор,
- 6. Что такое LINQ to Objects Итератор IEnumerable можно преобразовать в другой итератор, в число, в объект,
- 7. Выражения запросов using System; using System.Linq; using System.Collections.Generic; class Program { static void Main() { string[]
- 8. Компиляция выражений var query = from name in names where name.Length == 5 orderby name select
- 9. Делегаты Func Методы LINQ, принимающие делегаты в качестве параметров, должны быть объявлены с указанием типа параметров-делегатов.
- 10. Запросы Where() и Select() Where() – фильтр Пример: отфильтровать все четные числа IEnumerable result = m.Where(a
- 11. Запрос SelectMany() string[] input = { "SELECT", "FROM", "WHERE", "ORDER BY" }; var output = input.Select(s
- 12. Упорядочение – OrderBy(), ThenBy() string[] input = { "Select", "Where", "OrderBy", "GroupBy" }; Так можно упорядочить
- 13. Группирование – запрос GroupBy() var result = input.GroupBy(s => s.Length); foreach (IGrouping group in result) {
- 14. Задание 1 Имеется список книг – объектов класса Book: class Book { public string Name; public
- 15. Агрегация – Agregate, Sum, Average, Max, Min Суммирование: int[] m = { 2, 6, 4, 9,
- 16. Соединение – Join Все элементы одной последовательности попарно сравниваются с элементами второй последовательности, и для каждой
- 17. Групповое соединение - GroupJoin Пару составляют элемент первой последовательности и все соответствующие ему элементы второй последовательности.
- 18. Задание 2 1. Выразите через запрос Agregate() запросы Count(), Max() и Average(). 2. Дан массив книг
- 19. Остальные запросы
- 20. Разбиение: Take, Skip, TakeWhile, SkipWhile int[] m = { 3, 1, 8, 11, 9 }; var
- 21. Union, Intersect, Except, Distinct A.Union(B) A.Intersect(B) A.Except(B) int[] m = { 2, 1, 3, 2 },
- 22. Отдельные элементы: First, Last, ElementAt, Single У всех запросов есть условный вариант: First Last Single OrDefault
- 23. Генераторы: Repeat, Range, Empty Repeat() – последовательность из повторений. IEnumerable strings = Enumerable.Repeat("GL", 10); Range() –
- 24. ToArray, ToList, ToDictionary, ToLookup, AsEnumerable Запросы ToArray() и ToList() просто возвращают массив или коллекцию, составленную из
- 25. Преобразования элементов: OfType, Cast static void Main() { Book[] books = { new Book {Author =
- 26. Кванторы: All, Any, Contains Эти запросы возвращают логическое значение и называются кванторами, как аналогичные функции на
- 28. Скачать презентацию