Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > LINQ


Автор: arilou 20.9.2005, 20:50
Пока мы ждем .NET 2.0, в Микрософте уже работают над C# 3.0 smile

У кого толстый канал и английский на уровне, рекомендую скачать мувик.
http://channel9.msdn.com/showpost.aspx?postid=114680

Для остальных, в двух словах, парни сейчас работают над примерно такой штукой:

Код

static void Main()
{
  var q = from customers
              where City == "London"
              orderby Zip
              select {CustomerName, Phone};

  foreach(var x in q)
    Console.WriteLine(x.CustomerName, x.Phone);
}


и получить проверку типов на уровне компилятора для q и x, причем х уже будет классом с полями CustomerName и Phone, и они будут соответствовать типам, для него будет работать Intellisense, и т.д.

Или такой пример:

Код

static void Main()
{
  var q = from typeof(string).GetMethods()
              where IsStatic == false
              select Name;

  foreach(var x in q)
    Console.WriteLine(x);
}


т.е. взять названия всех инстансных методов из класса string. Фактически, выборку можно будет сделать из любого класса, реализующего IEnumerable<T>. Круто, правда? Я впечатлился!


Автор: Дрон 20.9.2005, 23:22
Красота!

Нечто подобное первому примеру я уже видел в Microsoft Axapta. Мне тогда это дело понравилось, хоть и непривычно smile

Автор: Void 22.9.2005, 21:02
arilou
Достаточно подробный русский http://rsdn.ru/forum/Message.aspx?mid=1382740&only=1 новых фич в C# 3.0. (Thanks to AVK).
LINQ только малая часть того, что задумывает MS smile

Автор: Exception 23.9.2005, 01:12
ссылка не работает(
блин... интересно, сколько бабла угрохала М$ на .нет...

Автор: Exception 23.9.2005, 01:58
почитал в мсдн..
интересно, но странно. это как, когда ребенок достроил свою машинку из лего, приклеивает на неё наклейки, так и МС всяких фичей наделывает.
ЗЫ имхо синтаксис вб (Select/From) удобнее, чем у с# (from/select)

Автор: mr.DUDA 23.9.2005, 16:22
Почитал статью. Моё имхо: мелкомягкие до сих пор не могут реализовать у методов значения аргументов по умолчанию, множественное наследование и инициализацию полей класса в конструкторе (C++ style), а вместо этого выдумали кучу изврата, усложняющего понимание кода. Если и буду использовать третий шарп, то без этих выкрутасов типа анонимных типов. smile

Автор: Exception 23.9.2005, 16:27
ага.
странное поведение для мелких... чтобы все вто так странно менять. что-то тут не так... smile

Автор: Дрон 23.9.2005, 16:29
Цитата(mr @ 23.9.2005, 17:22)
мелкомягкие до сих пор не могут реализовать у методов значения аргументов по умолчанию, множественное наследование и инициализацию полей класса в конструкторе (C++ style)

Первое есть в ВБ. Значит у них нашлись веские причины, чтобы не включать в С# -- хотя я их не понимаю smile
Второе ИМХО не нужно и реально усложнит структуру -- из дерева получим граф, в котором ориентироваться сложнее.
Третье -- да, было бы полезно smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)