C# 3.0

LINQ

Linq, Программирование 19.06.2008

Несколько лет назад Андерсу Хейлсбергу (главный проектировщик C#) и Питеру Гольду пришла идея расширить C# с целью улучшения интеграции методов запроса данных. Питер, который в то время руководил разработкой компилятора для C#, исследовал возможность расширения компилятора для C#, в частности, с целью поддержки надстроек, которые могли бы проверять синтаксис зависящих от области языков, таких как SQL. Андерс, с другой стороны, вынашивал идею более глубокого и специфического уровня интеграции. Он размышлял о множестве «операторов последовательности», которые применялись бы к любой коллекции, реализующей IEnumerable, а также к удаленным запросам для типов, реализующих IQueryable. В конечном итоге идея операторов последовательности завоевала более значительную поддержку, и в начале 2004 г. Андерс представил доклад об этой идее на совещание Thinkweek, проводимое Биллом Гейтсом. Реакция была ошеломляюще одобрительной. Завеса тайны над C# 3.0 была приоткрыта примерно три года назад, когда создатели и идейные вдохновители этого проекта, Дон Бокс и Андрес Хэйлсберг, выступили на PDC 2005 и поведали миру о том, что же это такое. С того момента была проведена большая работа по созданию специального унифицированного языка запросов внутри C# и Visual Basic, который может использоваться для доступа к различным структурам данных. Он был выпущен вместе с новой версией Visual Studio, официальный релиз которой состоялся 27 февраля 2008 года в США и 18 марта 2008 года в России.

LINQ представляет собой набор расширений языка, поддерживающий формирование запросов данных способом, безопасным по типам. Запрашиваемые данные могут быть представлены в форме XML (запросы LINQ к XML), баз данных (ADO.NET с поддержкой LINQ, куда входят LINQ к SQL, LINQ к наборам данных и LINQ к экземплярам), объектов (LINQ к объектам) и т.д. Архитектура LINQ показана на рис.1.

 

 

Рисунок 1 Архитектура LINQ

Рассмотрим пример интегрированного запроса:

› Читать

TopSape: Статистика Zona
тИЦ и PR сайта Рейтинг TopSape.ru Точные апдейты Яндекса