Подождите, но ведь intellisense jQuery поддерживается студией и без SP1.
Эта тема уже давно замусолена в англоязычных блогах.
При желании, можно найти описание, что и как, обратившись в Google.
Возможно я поторопился, когда дал эту статью в качестве примера.
В общем разницы большой не вижу. (str == null || str.Length == 0) - очень быстро, труъ:)
Например, тут.
Раздел "Проверка на инициализацию строки".
Но где-то в блогах gotdotnet я встречал более понятное и развернутое объяснение со ссылками на первые версии frameworkа и подробным анализом. К сожалению, не нашёл.
Ими вообще можно не пользоваться (это просто "синтаксический сахар"). Исполнение происходит все равно в .Net 2.0, поэтому компилятор преобразует метод расширения в метод класса.
Кажется, в простых словах, это так происходит.
Вот.. а тут возникает вопрос про String.Empty.
Это, конечно, оффтоп. Но есть мнение, что String.Empty лучше заменить на объявление пустой строки... т.е. просто ""!
Вообще-то, бегло посмотрев статью, не увидел там сравнения.
Как я понял, статья рассказывает как с помощью методов расширения приблизить C# (по компактности синтаксиса) к Ruby.
Апсолютно, согласен с предыдущим оратором:)
Идея "глубокая":) И, кстати, я понял:) Только оставил без внимания, чтобы свой последний нерв сильно не терзать.
Тем не менее, хочется посмотреть, что там в методе AppendFormat.
У меня только под рукой рефлектора нет. Поэтому и попросил посмотреть:)
Цитирую:)
Donald Knuth, the renowned computer scientist, once said that “Premature optimization is the root of all evil.”
Ну, все это шутки. А если серьёзно, то слышал.
Майкрософт тоже не рекомендует:) об этом пишут в начале сгенерированного файла:) Другое дело, что редактировать можно:) Речь ведь идёт о можно/нельзя, а пытливому уму можно все?
Где там?
Если речь про С#, ответ безусловно есть.
Методы расширения доступны только в 3 редакции языка, и их преимущество я вижу в возможности изменять набор функций класса, недоступного для редактирования (от стороннего разработчика, например).
Эта тема уже давно замусолена в англоязычных блогах.
При желании, можно найти описание, что и как, обратившись в Google.
В общем разницы большой не вижу.
(str == null || str.Length == 0)
- очень быстро, труъ:)Раздел "Проверка на инициализацию строки".
Но где-то в блогах gotdotnet я встречал более понятное и развернутое объяснение со ссылками на первые версии frameworkа и подробным анализом. К сожалению, не нашёл.
Кажется, в простых словах, это так происходит.
Это, конечно, оффтоп. Но есть мнение, что String.Empty лучше заменить на объявление пустой строки... т.е. просто ""!
Как я понял, статья рассказывает как с помощью методов расширения приблизить C# (по компактности синтаксиса) к Ruby.
С Вами я согласен.
Идея "глубокая":) И, кстати, я понял:) Только оставил без внимания, чтобы свой последний нерв сильно не терзать.
Тем не менее, хочется посмотреть, что там в методе AppendFormat.
У меня только под рукой рефлектора нет. Поэтому и попросил посмотреть:)
У меня пока один:)
Надо посмотреть в рефлекторе метод AppendFormat:)
Donald Knuth, the renowned computer scientist, once said that “Premature optimization is the root of all evil.”
Ну, все это шутки. А если серьёзно, то слышал.
result.AppendFormat(", {0}", list[i].ToString());
я бы предложил
result.Append(", ");
result.Append(list[i].ToString());
Если речь про С#, ответ безусловно есть.
Методы расширения доступны только в 3 редакции языка, и их преимущество я вижу в возможности изменять набор функций класса, недоступного для редактирования (от стороннего разработчика, например).
От себя добавлю:
вместо
return result.ToString();
лучше писать
string str = result.ToString();
result.Length = 0; //псевдо вызов Dispose(), вдруг боооольшой текст будет:)
return str;