Здравствуйте, saproj, Вы писали:
S>Здравствуйте, criosray, Вы писали:
C>>И так тоже можно:
S>
C>> public Form1()
C>> {
C>> InitializeComponent();
C>> button1.Click += delegate(object sender, EventArgs e)
C>> {
C>> // The following code is part of an anonymous method.
C>> MessageBox.Show("You clicked the button, and " +
C>> "This is an anonymous method!");
C>> };
C>> }
C>>
S>По-моему, это syntactic sugar.
public Form1()
{
InitializeComponent();
string str = GetMyString();
button1.Click += delegate(object sender, EventArgs e)
{
// The following code is part of an anonymous method.
MessageBox.Show("You clicked the button, and " +
"This is an anonymous method! " + str);
};
}
А так? Предложишь лишний член класса ввести?
S>
C>>var query =
C>> from c in listOfCustomers
C>> where c.City == "Sarasota"
C>> select new {c.Name,c.City};
C>>
S>Я в .NET не силен. Это встроенная поддержка SQL? Ну, поздравляю. Цель разработчиков была, чтобы народ побился в экстазе, или есть в этом больший смысл?
Это называется декларативное программирование. Перепиши теперь этот код с помощью циклов и сравни.
S>Я недавно написал первую программу на C++/CLI. Простенькая такая, ходит по файлам и каталогам. Вот кусок: S>
Здравствуйте, anton_t, Вы писали:
C>>>И так тоже можно:
C>>> public Form1()
C>>> {
C>>> InitializeComponent();
C>>> button1.Click += delegate(object sender, EventArgs e)
C>>> {
C>>> // The following code is part of an anonymous method.
C>>> MessageBox.Show("You clicked the button, and " +
C>>> "This is an anonymous method!");
C>>> };
C>>> }
C>>>
S>>По-моему, это syntactic sugar.
_> public Form1()
_> {
_> InitializeComponent();
_> string str = GetMyString();
_> button1.Click += delegate(object sender, EventArgs e)
_> {
_> // The following code is part of an anonymous method.
_> MessageBox.Show("You clicked the button, and " +
_> "This is an anonymous method! " + str);
_> };
_> }
_>
_>А так? Предложишь лишний член класса ввести?
Для строки? А мы о каком языке говорим?
В C++ можно вводить новые члены класса, а можно не вводить, используя local class.
C>>>var query =
C>>> from c in listOfCustomers
C>>> where c.City == "Sarasota"
C>>> select new {c.Name,c.City};
C>>>
S>>Я в .NET не силен. Это встроенная поддержка SQL? Ну, поздравляю. Цель разработчиков была, чтобы народ побился в экстазе, или есть в этом больший смысл?
_>Это называется декларативное программирование. Перепиши теперь этот код с помощью циклов и сравни.
Это фича языка, существующая только для поддержки запросов SQL?
S>>Я недавно написал первую программу на C++/CLI. Простенькая такая, ходит по файлам и каталогам. Вот кусок: S>>
Здравствуйте, saproj, Вы писали:
_>>Это называется декларативное программирование. Перепиши теперь этот код с помощью циклов и сравни.
S>Это фича языка, существующая только для поддержки запросов SQL?
К SQL эта фича (Linq) вообще не имеет никакого отношения. Это унифицированный язык запросов к произвольным источникам данных. В качестве источников данных может выступать все, что угодно, например: обычные объекты, XML, базы данных и т.д.
Здравствуйте, Bigger, Вы писали:
B>скипнул S>>Чтобы имел право судить — посиди под линуксом _хотябы_ год S>>-- S>>...belive in the matrix...
B>Понимаю, что офтоп и тема старая, НО B>Выделенное звучит как приговор
Чтоб стать похожим на шеридана — посиди под линухом хотя бы год.
Вот это точно звучит как приговор...
Здравствуйте, saproj, Вы писали:
S>Здравствуйте, anton_t, Вы писали:
C>>>>И так тоже можно:
S>
C>>>> public Form1()
C>>>> {
C>>>> InitializeComponent();
C>>>> button1.Click += delegate(object sender, EventArgs e)
C>>>> {
C>>>> // The following code is part of an anonymous method.
C>>>> MessageBox.Show("You clicked the button, and " +
C>>>> "This is an anonymous method!");
C>>>> };
C>>>> }
C>>>>
S>>>По-моему, это syntactic sugar.
S>
_>> public Form1()
_>> {
_>> InitializeComponent();
_>> string str = GetMyString();
_>> button1.Click += delegate(object sender, EventArgs e)
_>> {
_>> // The following code is part of an anonymous method.
_>> MessageBox.Show("You clicked the button, and " +
_>> "This is an anonymous method! " + str);
_>> };
_>> }
_>>
_>>А так? Предложишь лишний член класса ввести?
S>Для строки? А мы о каком языке говорим? S>В C++ можно вводить новые члены класса, а можно не вводить, используя local class.
Что ты имеешь ввиду под "local class"? Я с++ знаю примерно как ты .net
S>
C>>>>var query =
C>>>> from c in listOfCustomers
C>>>> where c.City == "Sarasota"
C>>>> select new {c.Name,c.City};
C>>>>
S>>>Я в .NET не силен. Это встроенная поддержка SQL? Ну, поздравляю. Цель разработчиков была, чтобы народ побился в экстазе, или есть в этом больший смысл?
_>>Это называется декларативное программирование. Перепиши теперь этот код с помощью циклов и сравни.
S>Это фича языка, существующая только для поддержки запросов SQL?
Нет. Можно делать выборку из любой коллекции, если конечно эта коллекция реализует интерфейс IEnumerable/IEnumerable<T>. Можно даже обойтись без sql-подобного синтаксиса, если не нравится.
Здравствуйте, Bigger, Вы писали:
B>skip
kuj>>Чтоб стать похожим на шеридана — посиди под линухом хотя бы год. kuj>>Вот это точно звучит как приговор...
B>А на личности переходить
Здравствуйте, anton_t, Вы писали:
C>>>>>И так тоже можно:
S>>
C>>>>> public Form1()
C>>>>> {
C>>>>> InitializeComponent();
C>>>>> button1.Click += delegate(object sender, EventArgs e)
C>>>>> {
C>>>>> // The following code is part of an anonymous method.
C>>>>> MessageBox.Show("You clicked the button, and " +
C>>>>> "This is an anonymous method!");
C>>>>> };
C>>>>> }
C>>>>>
S>>>>По-моему, это syntactic sugar.
S>>
_>>> public Form1()
_>>> {
_>>> InitializeComponent();
_>>> string str = GetMyString();
_>>> button1.Click += delegate(object sender, EventArgs e)
_>>> {
_>>> // The following code is part of an anonymous method.
_>>> MessageBox.Show("You clicked the button, and " +
_>>> "This is an anonymous method! " + str);
_>>> };
_>>> }
_>>>
_>>>А так? Предложишь лишний член класса ввести?
S>>Для строки? А мы о каком языке говорим? S>>В C++ можно вводить новые члены класса, а можно не вводить, используя local class.
_>Что ты имеешь ввиду под "local class"? Я с++ знаю примерно как ты .net
Это когда класс находится в функции. Не вдаваясь в подробности, в С++ обработчик button1.Click тоже можно "спрятать" внутри Form1(), хотя это потребует немного "больше букв" .
Возвращаясь к "syntactic sugar", я так и не понял, чем обсуждаемая фича так ценна.
S>Это когда класс находится в функции. Не вдаваясь в подробности, в С++ обработчик button1.Click тоже можно "спрятать" внутри Form1(), хотя это потребует немного "больше букв" .
Статья о развитии синтаксиса делегатов от 1.0 до 3.5 очень общая. Тем более, что речь идет не о делегатах вообще, а о приведенном в примере синтаксисе для анонимных функций. Если есть какое-то принципиальное отличие, напишите какое. Думаю, для этого должно хватить пары предложений.
S>>Возвращаясь к "syntactic sugar", я так и не понял, чем обсуждаемая фича так ценна.
kuj>Все, что выше ассемблера — синтаксический сахар. Да и ассемблер по-сути тоже. ;> Так что вперед и с песней: 1010100010100101000100...
Ваше понимание этого термина сильно отличается от общепринятого. Общепринятое изложено, например, в английской Википедии.
Здравствуйте, saproj, Вы писали:
S>>>Это когда класс находится в функции. Не вдаваясь в подробности, в С++ обработчик button1.Click тоже можно "спрятать" внутри Form1(), хотя это потребует немного "больше букв" .
kuj>>"Класс внутри функции" это совсем не то. рфтм http://www.silverlighthack.com/post/2008/07/14/Evolution-of-delegate-syntax-from-NET-10-to-NET-35.aspx
S>Статья о развитии синтаксиса делегатов от 1.0 до 3.5 очень общая. Тем более, что речь идет не о делегатах вообще, а о приведенном в примере синтаксисе для анонимных функций. Если есть какое-то принципиальное отличие, напишите какое. Думаю, для этого должно хватить пары предложений.
Слабо?
S>>>Возвращаясь к "syntactic sugar", я так и не понял, чем обсуждаемая фича так ценна.
kuj>>Все, что выше ассемблера — синтаксический сахар. Да и ассемблер по-сути тоже. ;> Так что вперед и с песней: 1010100010100101000100...
S>Ваше понимание этого термина сильно отличается от общепринятого. Общепринятое изложено, например, в английской Википедии.
Bigger однажды (17 марта 2009 12:47) писал в rsdn.flame.comp:
> S>Чтобы имел право судить — посиди под линуксом _хотябы_ год > > Понимаю, что офтоп и тема старая, НО > Выделенное звучит как приговор
Системы разные. Абсолютно. В линуксе в 99% не работают приемы работы с виндами. Чтобы это __понять__ (не выучить, а понять — почему и зачем) — нужно проработать под линухом какоето
время. Поизучать.
Bigger однажды (17 марта 2009 14:26) писал в rsdn.flame.comp:
> А на личности переходить
А, этому аленькому цветочку пофиг. Не обращай внимания. Пуссть им модераторы занимаются