Последние комментарии
Для меня эта страница - это удобный способ смотреть, что нового происходит в комментариях и сразу находить заметку, не заходя в админку. Думаю, она будет полезна и тебе.
owl
Жду когда в продаже появиться Lumia 610, чтобы посмотреть на windows phone. Как-то вы уж больно его ругаете Михаил)
Абдулов Андрей
Михаил, сколько Вам платит Apple за то что бы вы так ненавидели майкрософт и продвигали продукцию Apple?
Bush
Я так понял, что Михаилу не приходят уведомления о том, что в курилке что-то написали. :)
Денис
Бреда не вижу. Просто человек любит синтаксис.
Bush
Просто интересно, какие программы ты пишешь, что тебе так нужно обрабатывать массивы данных? В реальной жизни действительно чаще приходится писать базы и поэтому я делал на них упор.
И самое главное - ты наверно не понял смысла LINQ. Я же сказал, что это передаст, который просто использует синтаксис запросов в коде. Ты пишешь запросы, но чаще всего (а может и всегда, тут я утверждать не буду, потому что не знаю всех тонкостей реализации) LINQ просто преобразовывает написанный тобой код в библиотечные функции других библиотек. Например, в случае с базами данных (прости, но уж с ними мне приходится работать чаще всего, поэтому описываю на их примере), твой запрос будет преобразован в SQL.
В случае с Linq to XML будут использоваться библиотечные функции .NET. Пойди на сайт Microsoft и посмотри, там черным по HTML странице написано: LINQ to XML uses the latest .NET Framework language capabilities and is comparable to an updated, redesigned Document Object Model (DOM) XML programming interface.
LiINQ - это действительно передаст (классное слово придумал Михаил), который преобразовывает запросы в библиотечные функции или в SQL. Тебе нравится этот синтаксис? Используй, какие претензии к другим? Ты думаешь, что если постиг LINQ к массивам, то постиг айсберг? Спешу тебя удивить, но основное предназначение LINQ - это как раз базы данных. Только если потом захочешь перенести свой код на C++/Java или что-то другое, не говори, что тебя не предупреждали, что LINQ - это дерьмо, которое использовать нужно аккуратно.
Преобразовать список в массив, либо массив в словарь, либо др. подобное действо.
Вот над этим ржал. Использовать LINQ для преобразования данных, это конечно жестоко. Спасибо, насмешил. Это точно айсберг, до которого я бы не додумался
n
А мне почему-то кажется, что это ромул. Такой же бред
Rub
Мальчик научился писать запросы к массивам данных и считает что это круто, теперь наверно на всех блогах и форумах будет показывать, какой он умный. Обработка массивов запросом – это пятнышко на айсберге LINQ, а все ваши (не думаю, что вам больше 20 лет) примеры это обработка структурированных данных в памяти. Когда начнёте работать программистом, то поймёте, что большинству требуется работать с базами данных и очень много времени уходит на написание запросов к базе данных. Обработка массивов информации и примеры, что вы описали нужны очень редко или если вы не знаете SQL.
Михаил Фленов
Последний раз говорю, используйте LINQ без проблем для чего угодно, но не для запросов к базам данных. То, что ты перечислил, это все работа с массивами данных (я надеюсь) не полученных из базы данных. Если данные можно обработать на стороне сервера нормальным SQL, то они должны обрабатываться на сервере нормальным SQL. Если для тебя перечисленное - это айсберг, то пусть будет айсбергом.
Я не против использования в перечисленных тобой случаях, потому что код действительно получится небольшим, а если не знаешь базовых алгоритмов, то еще и быстрее. Но даже зная алгоритмы, каждый раз изобретать колесо не нужно, когда есть LINQ и хочется его использовать.
Прежде чем писать подобные комментарии, прочитайте пожалуйста еще раз что я написал. Я не рекомендвал, не рекомендую и не планирую рекомендовать эту фигню для написания запросов к базе данных. Если же вы решитись на это, то это ваши личные проблемы, я никому ничего не запрещаю.
Bush
Я часто использую Linq в следующих ситуациях (имея на руках некий IEnumerable<T>):
1. Нужно выполнить некоторую несложную операцию над всеми элементами перечисления, после чего результат обработки отфильтровать по некоторому условию и на основе результата создать перечисление экземпляров совершенно иного типа (например члены анонимного класса). "Несложную операцию" как правило юзаем в виде лямбда-выражения.
Как правило, код получается небольшой, в одну-три строки, вполне удобочитаемый, поскольку я использую не синтаксис "аля SQL", который на мой взгляд уродлив, а точечную нотацию - такой код читается последовательно и весьма понятен.
2. Просто выполнить некоторые действия над всеми или некоторыми, выбранными по определённому условию элементами перечисления.
3. Преобразовать список в массив, либо массив в словарь, либо др. подобное действо.
4. Очень удобно выполнять группирование, объединение, пересечение, выборку уникальных записей.
5. Весьма полезны и "ленивые" вычисления (надеюсь не нужно пояснять, что это такое).
6. Про удобство работы с XML даже пояснять не буду - оно весьма очевидно.
А вообще, мне кажется, что тема обусловлена тем, что автор (не в обиду сказано) не разобрался как следует в технологии LINQ. Нельзя судить о всём айсберге, видя лишь его маленький кончик, торчащий из воды, и при этом неудачно кем-то где-то применённый (причём не факт, что применённый грамотно).
имхо
Bush
Я написал по указанной тобой ссылке.
Михаил Фленов
2 Bush
Давно не удалял комментарии, но тут выхода просто нет, потому что дискуссии нет. В твоем комментарии только одна мысль по теме:
Перечитай еще раз мой пост и посмотри, о чем мы говорим:
Назови преимущество и я с удовольствием продолжу твою дискуссию. Прежде чем писать это преимущество перечитай еще раз мой пост и заметь две основные идеи его - я не рекомендую использовать LINQ к базам данных и я не против использования LINQ to XML или к массивам. Если ты будешь опять писать, что я не разбираюсь в сути LINQ, потому что использование LINQ к массивам - это супер, то перечитай еще раз мой пост, потому что ты его явно не понял