powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / LINQ: кто какой синтаксис использует?
25 сообщений из 222, страница 8 из 9
LINQ: кто какой синтаксис использует?
    #38879103
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему вы, ребята, называете "LINQ query expressions" сахаром?
Выходит будто fluent expressions не являются сахаром над query expressions, ведь fluent как раз и есть сахар над query же, бо query появился раньше fluent и fluent это суть тот же query написанный в функциональном стиле!

ЗЫ. Я смотрю дело Севы и МСУ живёт
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879116
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticА почему вы, ребята, называете "LINQ query expressions" сахаром?Потому fluent находится почти полностью в рамках классического синтаксиса С#/VB, а query expressions имеют sql-синтаксис, вкоряченный в С#/VB.
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879127
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПотому fluent находится почти полностью в рамках классического синтаксиса С#/VB, а query expressions имеют sql-синтаксис, вкоряченный в С#/VB.Ну мне казалось, что query синтаксис появился раньше fluent, поэтому логично предположить, что fluent является надстройкой над query, и, согласно определению "синтаксический сахар", данному педивикией, где сахаром называется то, что является дополнением/надстройкой над чем-нибудь, сахаром является как раз fluent.

ЗЫ. Ты в курсе, что у тебя аватарка с косичками? Так и должно быть?
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879137
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyfluent находится почти полностью в рамках классического синтаксисаиз любопытства - в чем заключается то малое "не почти"?
enigmaticЗЫ. Ты в курсе, что у тебя аватарка с косичками? Так и должно быть?
ИМХО - ушанка. Балалайка, водка и медведь немножко за кадром
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879153
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProИМХО - ушанка. Балалайка, водка и медведь немножко за кадром А, ну ладно тогда, а то я давно не заходил и начал опасаться за завсегдатаев
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879164
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proиз любопытства - в чем заключается то малое "не почти"?Насчет сидиеза не знаю, а в вб вот это, например:
Код: vbnet
1.
oList = db.tblBanner.Where(Function(v) v.ID = ID).ToList

Или может это лишь я такими конструкциями не пользовался за рамками LINQ.
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879167
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticShocker.ProИМХО - ушанка. Балалайка, водка и медведь немножко за кадром А, ну ладно тогда, а то я давно не заходил и начал опасаться за завсегдатаев
Блин, а ведь была мысль насчет медведя за плечом Но он туда не влезет.

Добавлю хоть погоны, как время найду.
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879169
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticНу мне казалось, что query синтаксис появился раньше fluent, поэтому логично предположить, что fluent является надстройкой над query
Когда кажется - креститься надо. 17217136 - и обращаем внимание на вызов
Код: c#
1.
2.
[System.Core]System.Linq.Enumerable::Select<int32,int32> (class [mscorlib]System.Collections.Generic.IEnumerable`1<!!0>,
                                                         class [mscorlib]System.Func`2<!!0,!!1>)


который как бы и есть вызов того самого "флюентного" метода. Которые все живут в System.Linq.Enumerable .
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879176
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyНасчет сидиеза не знаю, а в вб вот это, например:
Код: vbnet
1.
oList = db.tblBanner.Where(Function(v) v.ID = ID).ToList


Ну это передача делегата Func<,> ведь (не знаю, как в VB называются делегаты - ссылки на методы). В принципе, это в некотором смысле другой сахар - создание на ходу анонимного делегата. В шарпе будет выглядеть так:
Код: c#
1.
.Where(v => v.ID == ID)

но это не имеет отношения непосредственно к линку.
AntonariyИли может это лишь я такими конструкциями не пользовался за рамками LINQ.Ну и зря ))
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879177
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProНу и зря ))А зачем?)
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879183
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

Всё верно, фигню написал. И fluent, и query одновременно появились в .Net 3.5, а query использует методы fluent'а, т.е. query -- сахар над fluent.
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879200
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyShocker.ProНу и зря ))А зачем?)в чем вопрос:
Зачем использовать делегаты в принципе?
или
Зачем использовать inline объявление анонимного делегата (вместо ссылки на явно объявленный метод)?
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879203
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProAntonariyпропущено...
А зачем?)в чем вопрос:
Зачем использовать делегаты в принципе?
или
Зачем использовать inline объявление анонимного делегата (вместо ссылки на явно объявленный метод)?В смысле пример приведи из своей практики. Какая была задача и как ее решил.
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879217
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticНу мне казалось, что query синтаксис появился раньше fluent,
Так и есть .
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879226
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyВ смысле пример приведи из своей практики. Какая была задача и как ее решил.
Вчерашний пример - из класса A создаю экземпляр класса Б, в который нужно отдать некий ID.
Проблема в том, что с одной стороны этот ID классу Б понадобится не сразу (только при рендеринге), с другой стороны, ID еще и не готов, он будет сгенерен или изменен в процессе работы класса А (но заведомо до того, как он понадобится Б, просто по определению)

Тогда я беру и объявляю конструктор Б не Б(int ID), а Б(Action<int> getID)
и создаю экземпляр: new Б(() => this.MyID)
И тогда, когда классу Б приспичит, он сделает var id=getID() и получит актуальный ID

А вообще, в самой платформе .NET миллион методов и классов, принимающих на вход Func<> или Action<> - каждый из них - ответ на твой вопрос ))
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879240
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда я беру и объявляю конструктор Б не Б(int ID), а Б(Action<int> getID)
и создаю экземпляр: new Б(() => this.MyID)
И тогда, когда классу Б приспичит, он сделает var id=getID() и получит актуальный IDПочему не Б(A obj); new Б(this); var id = obj.MyID?
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879244
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyТогда я беру и объявляю конструктор Б не Б(int ID), а Б(Action<int> getID)
и создаю экземпляр: new Б(() => this.MyID)
И тогда, когда классу Б приспичит, он сделает var id=getID() и получит актуальный IDПочему не Б(A obj); new Б(this); var id = obj.MyID?
Насколько я понял, речь идет об отложенном считывании Id
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879253
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Antonariyпропущено...
Почему не Б(A obj); new Б(this); var id = obj.MyID?
Насколько я понял, речь идет об отложенном считывании Idтак тут тоже отложенное. в класс б передается ссылка на а, и б дергает его, когда хочет.
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879256
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyТогда я беру и объявляю конструктор Б не Б(int ID), а Б(Action<int> getID)
и создаю экземпляр: new Б(() => this.MyID)
И тогда, когда классу Б приспичит, он сделает var id=getID() и получит актуальный IDПочему не Б(A obj); new Б(this); var id = obj.MyID?Ужасное решение, увеличивающее связность кода. Зачем вводить зависимость класса Б от класса А или от какого-го либо интерфейса? Тем более, что класс Б - библиотечный.
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879260
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поэтому вопрос "нафига тут нужны делегаты" остается.

А еще лучше такой: в каких случаях делегаты предпочтительней классики?
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879272
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProУжасное решение, увеличивающее связность кода.Погоня за излишней развязанностью всегда во благо и красоты для?

Shocker.ProЗачем вводить зависимость класса Б от класса А или от какого-го либо интерфейса? А почему нет? Условия задачи сформулированы так, что строго исключают зависимость Б от А?

Shocker.ProТем более, что класс Б - библиотечный.Не убедительно. Библиотека библиотеке рознь.
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879276
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyи красоты для?
да
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879279
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy Зачем вводить зависимость класса Б от класса А или от какого-го либо интерфейса?А действительно. А уже зависит от Б, путь заодно реализует интерфейс из Б, а передается в конструктор как Object.
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879284
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПогоня за излишней развязанностью всегда во благо и красоты для?уменьшение связности улучшает обслуживаемость, модифицируемость, тестируемость кода. По поводу "излишней" - по моему опыту - связанность должна быть всегда несколько меньше, чем требует объективный взгляд на проблему сегодня, ибо потом это резко создает ненужные проблемы при любой попытке развития проекта.

AntonariyУсловия задачи сформулированы так, что строго исключают зависимость Б от А?В данном случае - да. Ибо класс библиотечный. Даже если это было бы не так в данной задаче - все равно нужно обойтись без создания зависимости класса Б от класса А, потому что завтра класс Б захочется куда-то унести или воспользоваться им в другом месте. ТЕМ БОЛЕЕ, что написание в данном случае несвязного кода не усложняет код и не прибавляет букв.
...
Рейтинг: 0 / 0
LINQ: кто какой синтаксис использует?
    #38879285
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyА действительно. А уже зависит от Б, путь заодно реализует интерфейс из Б, а передается в конструктор как Object.нахера? Уже есть универсальный "интерфейс" Action<int>, нафига тут лишнюю сущность вводить?
...
Рейтинг: 0 / 0
25 сообщений из 222, страница 8 из 9
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / LINQ: кто какой синтаксис использует?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]