Pull to refresh

Comments 26

:))) отлично! возможно местами упростит работу :)
Ага, в прошлом топике я упоминал, что шарп стремительно летит к плюсам, так нет же, не оценили.
Дык нате, ковариантные типы, как наглядный пример. Наконец-то, но что мы видим? В однеу сторону? О боже! Как же так? Ах, безопасность.
Да-да, все ближе и ближе к плюсам, что бы там ни говорили.
скорее к функциональным языкам, чем к плюсам
Да, там есть Return Type Covariance:
class Mammal
{
public:
  virtual Mammal* GetValue();
};

class Dog : public Mammal
{
public:
  virtual Dog* GetValue();
};


* This source code was highlighted with Source Code Highlighter.
Как раз на прошлой неделе решал подобную задачу на третем фреймворке:
Была коллекция List, и хотел к ней добавить элементы коллекции Listчерез AddRange. Ну, как и понятно — компилятор ругнулся. Но вот так: comparableList.AddRange( stringList.ToList() ) всё прокатило! ;)
Мне уже любопытно, что же приподнесет нам C# 5.0…
Статья хорошая, но форматирование кода отвратительное. Лучше бы его переформачили при переносе из оригинала.
А что конкретно вам не нравится? Классическое форматирование кода для C#. Вы видимо просто не привыкли к такому.
Открывающие фигурные скобки на новой строке, не компактно. Ну да ладно, об этом можно спорить бесконечно. :-)
Спорить можно долго, но MS рекомендует использовать именно такой code convention и сама использует его (например, в МСДН). Кроме того я видел такие рекомендации и в MS C# Coding Standart. Ну а ИМХО такой код читабельнее — доводилось работать с разным форматированием.
Компактно удобно в книгах, здесь у вас места хоть отбавляй. Зато более наглядно.
Отличная фича, несколько раз сталкивался с необходимостью ее использования и жалел, что ее нет в шарпе 2.0 и 3.0.
Спасибо за перевод и труд в его оыормлении!
Интересно, что многие нововведения ничего не изменяют в CLR. Т.е. они сделаны на уровне компилятора. Почему это раньше нельзя было сделать?
Тогда не было бы смысла выпускать C# 4.0 ;)
Дайте подумать… Наверное, потому что на то, чтобы что-то сделать, нужно время?
Жаль только что до дотнета 4 конечные пользователи обновятся ой как нескоро…
Ведь у большинства то даже 3.0 не стоит.
Все эти навороты — изменение компилятора, а не CLR. Например, фичи 3тьего можно компилировать под второй.
Это как тогда компилировать под 2ю версию код для 3й? ;)
В 2008 студии создаешь консольное приложение, в референсах оставляешь только System.Core (ей надо проставить «Copy Local»), используешь LINQ, собираешь, копируешь на тазик, где установлен только .NET 2.0 и пробуешь запустить.

В простейшем случае достаточно.
Спасибо!
Еще немного и мы узнаем способ, как все это хозяйство заставить работать на .NET 1.0
У конечных пользователей может стоять хоть 2.0.

Все последние изменения (начиная с .NET 3.0) не затрагивают CLR, а лишь компиляторы и библиотеки классов.
Sign up to leave a comment.

Articles