Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > LINQ (Language-Integrated Query) > Linq и С++ .Net


Автор: antikom 17.4.2009, 16:44
Здраствуйте. Престоит делать проект на C++.Net и в нем будет большая работа с разного рода  данными. В С# это все удобно делается при помощи Linq, и передо мной встал вопрос кто - нибудь юзал C++ и Linq в одном проекте и какаобще они интегрированны между собой.
Спасибо.

Автор: Real 18.4.2009, 01:16
Я обшето не программирую на С++.

LinQ не вмонтирован в .NET, он монтируется только в языки программирования.
Никаких изменений за последних 10 лет не было в С++.
А ЛинкЮ появился недавно.

Делай выводы.

Автор: jonie 22.4.2009, 09:19
Цитата

Никаких изменений за последних 10 лет не было в С++.
да лаааднооо... стандарт был в 2003 году издан. А майкрософт его постоянно "улучшает"...

Автор: Lite 25.4.2009, 22:05
Цитата(jonie @ 22.4.2009,  09:19)
Цитата

Никаких изменений за последних 10 лет не было в С++.
да лаааднооо... стандарт был в 2003 году издан. А майкрософт его постоянно "улучшает"...

Ну что ты этим хочешь сказать?
Мы тут не обсуждаем какой крутой С++.
Мы тут не обсуждаем кагда обновился С++ 20 лет назад, или 30 лет.
Мы тут обсуждаем LinQ.

Автор: zaver 28.4.2009, 15:13
LINQ - это не столько новый синтаксис, который поддерживается C#, сколько набор библиотек, которые реализуют его функциональность. Т.е. все что можешь написать в C# на Linq, можешь написать и в любом другом .net языке через linq библиотеки, просто не таким удобным способом.
http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx
например
Код

public void Linq5() {
    string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };

    var shortDigits = digits.Where((digit, index) => digit.Length < index);

    Console.WriteLine("Short digits:");
    foreach (var d in shortDigits) {
        Console.WriteLine("The word {0} is shorter than its value.", d);
    }
}

вот например тот же linq без своего родного синтаксиса. дело  в том что используя его родной синтаксис ты неявно вызываешь методы подобные where.

Автор: Idsa 28.4.2009, 15:33
zaver, Вы ничего не путаете?

Цитата(zaver @  28.4.2009,  19:13 Найти цитируемый пост)
вот например тот же linq без своего родного синтаксиса. дело  в том что используя его родной синтаксис ты неявно вызываешь методы подобные where. 

Но метод where - не метод класса Array, это Extension-метод. В C++ Extension-методов, естественно, нет. Соответственно, и LINQ использовать не получится. Только если вручную Expression Trees создавать... но это уже совсем другая история.

http://social.msdn.microsoft.com/Forums/en-US/linqprojectgeneral/thread/0e48da8e-3f4e-4e81-94b9-ee3bab6eb196

Добавлено через 4 минуты и 20 секунд
Вот еще очень интересная статья про CLinq: http://tomasp.net/blog/clinq-project.aspx

Автор: Lite 28.4.2009, 17:56
Модератор: Сообщение скрыто.

Автор: zaver 29.4.2009, 16:43
да. я уже разобрался. путаю

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