Обзор
Одна из вещей, о которых я много просил на этом сайте, - LINQ. Вопросы, которые я задал, были широкими и разнообразными и часто не имеют большого контекста. Поэтому, пытаясь консолидировать знания, полученные мной в Linq, я отправляю этот вопрос, чтобы сохранить и обновить его с дополнительной информацией, поскольку я продолжаю узнавать о LINQ.
Я также надеюсь, что он окажется полезным ресурсом для других людей, желающих узнать о LINQ.
Что такое LINQ?
Из MSDN:
Проект LINQ - это кодовое имя для набор расширений для .NET. Рамки, охватывающие язык, интегрированный запрос, набор и преобразования. Он расширяет С# и Visual Basic с родным языком синтаксис запросов и предоставляет класс библиотеки, чтобы воспользоваться этими возможности.
Это означает, что LINQ предоставляет стандартный способ запроса различных источников данных с использованием общего синтаксиса.
Какие существуют особенности LINQ?
В настоящее время существует несколько различных поставщиков LINQ, предоставляемых Microsoft:
- Linq to Objects, который позволяет выполнять запросы для любого объекта IEnumerable.
- Linq to SQL, который позволяет выполнять запросы к базе данных объектно-ориентированным образом.
- Linq to XML, который позволяет вам запрашивать, загружать, проверять, сериализовывать и обрабатывать XML-документы.
- Linq to Entities, как предложено Andrei
- Linq to Dataset
Есть немало других, многие из которых перечислены здесь.
Каковы преимущества?
- Стандартизованный способ запроса нескольких источников данных
- Защита запросов времени компиляции
- Оптимизированный способ выполнения операций на основе набора в объектах памяти
- Возможность отладки запросов
Итак, что я могу сделать с LINQ?
Chook предоставляет способ выводить файлы CSV
Jeff показывает, как удалить дубликаты из массива
Боб получает отличный упорядоченный список из datatable
Marxidad показывает, как сортировать массив
Дана получает помощь в реализации быстрого сортировки с использованием Linq
С чего начать?
Сводка ссылок из вопроса GateKiller ниже:
Скотт Гатри предоставляет введение Linq в свой блог
Обзор LINQ на MSDN
ChrisAnnODell предлагает проверить:
Что мне нужно использовать LINQ?
Linq в настоящее время доступен в VB.Net 9.0 и С# 3.0, поэтому вам понадобится Visual Studio 2008 или выше, чтобы получить все преимущества. (Вы всегда можете написать свой код в блокноте и скомпилировать его с помощью MSBuild)
Существует также инструмент под названием LinqBridge, который позволит вам запускать запросы Linq, подобные запросам на С# 2.0.
Советы и рекомендации с помощью LINQ
Этот вопрос содержит несколько сложных способов использования LINQ