LINQ to Objects
Термин "LINQ to Objects" означает использование запросов LINQ с любой коллекцией IEnumerable или IEnumerable напрямую, без привлечения промежуточного поставщика LINQ или API, такого как LINQ to SQL [LINQ to SQL] или LINQ to XML. Чтобы выполнить запрос к любой перечислимой коллекции, такой как List, Array или [T:System.Collections.Generic.Dictionary`2,] можно использовать LINQ. Коллекция может быть определена пользователем или возвращена API .NET Framework.
В общем смысле LINQ to Objects представляет собой новый подход к коллекциям. Раньше нужно было написать сложные циклы foreach, определяющие порядок извлечения данных из коллекции. При использовании LINQ пишется декларативный код, описывающий, какие данные необходимо извлечь.
Кроме того, запросы LINQ предлагают три основных преимущества по сравнению с традиционными циклами foreach.
Они более краткие и удобочитаемые, особенно при фильтрации нескольких условий.
Они предоставляют широкие возможности фильтрации, упорядочивания и группировки с минимумом кода приложения.
Они могут переноситься в другие источники данных практически без изменений.
В общем, чем сложнее операция, которую нужно выполнить с данными, тем больше преимуществ вы получаете при использовании LINQ вместо традиционных способов итерации.
Целью этого раздела является демонстрация подхода LINQ с помощью нескольких примеров. Он не претендует на исчерпывающий характер.
Содержание
Практическое руководство. Выполнение запроса к ArrayList с помощью LINQ
Выполнение запроса ArrayList в Visual Basic и в C#.LINQ и строки
Использование LINQ для запроса и преобразования строк и коллекций строк. Ссылки на разделы, демонстрирующие эти принципы.LINQ и каталоги файлов
Использование LINQ для взаимодействия с файловыми системами. Ссылки на разделы, демонстрирующие эти понятия.LINQ и отражение
Ссылки на пример, демонстрирующий, как LINQ использует отражение.LINQ
Ссылки на разделы, рассказывающие LINQ и содержащие примеры кода выполнения запросов.Практическое руководство. Добавление настраиваемых методов для запросов LINQ
Расширение набора методов, которые можно использовать для запросов LINQ путем добавления методов расширения в интерфейс IEnumerable.