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