LINQ to Objects (Visual Basic)

Термин "LINQ to Objects" означает использование запросов LINQ с любой коллекцией IEnumerable или IEnumerable<T> напрямую, без привлечения промежуточного поставщика LINQ, API LINQ to SQL или LINQ to XML. Вы можете выполнить запрос LINQ к любой перечислимой коллекции, такой как List<T>, Array или Dictionary<TKey,TValue>. Коллекция может быть определена пользователем или возвращена API .NET Framework.

В общем смысле LINQ to Objects представляет собой новый подход к коллекциям. Раньше нужно было написать сложные циклы For Each, определяющие порядок извлечения данных из коллекции. При использовании LINQ пишется декларативный код, описывающий, какие данные необходимо извлечь.

Кроме того, запросы LINQ предлагают три основных преимущества по сравнению с традиционными циклами For Each:

  1. Они более краткие и удобочитаемые, особенно при фильтрации нескольких условий.

  2. Они предоставляют широкие возможности фильтрации, упорядочивания и группировки с минимумом кода приложения.

  3. Они могут переноситься в другие источники данных практически без изменений.

В общем, чем сложнее операция, которую нужно выполнить с данными, тем больше преимуществ вы получаете при использовании LINQ вместо традиционных способов итерации.

Целью этого раздела является демонстрация подхода LINQ с помощью нескольких примеров. Он не претендует на исчерпывающий характер.

В этом разделе

LINQ и строки (Visual Basic)
Использование LINQ для запроса и преобразования строк и коллекций строк. Ссылки на разделы, демонстрирующие эти принципы.

LINQ и отражение (Visual Basic)
Ссылки на пример, демонстрирующий, как LINQ использует отражение.

LINQ и каталоги файлов (Visual Basic)
Использование LINQ для взаимодействия с файловыми системами. Ссылки на разделы, демонстрирующие эти понятия.

Практическое руководство. Запрос массива с помощью LINQ (Visual Basic)
Выполнение запроса ArrayList в C#.

Практическое руководство. Добавление настраиваемых методов для запросов LINQ (Visual Basic)
Расширение набора методов, которые можно использовать для запросов LINQ путем добавления методов расширения в интерфейс IEnumerable<T>.

LINQ (Visual Basic)
Ссылки на разделы, рассказывающие LINQ и содержащие примеры кода выполнения запросов.