Решил перечислить их с небольшими комментариями:
- Во многие типы наконец-то добавили TryParse (TimeSpan, Enum, Guid).
- Чуть проще работа со строками: Join'нить и Contact'ить можно все что IEnumerable
, добавили String.IsNullOrWhiteSpace - Идея Enum'ов как флаги продолжила свою жизнь в виде Enum.HasFlag
- Наконец-то не надо изобретать велосипед при копировании с одного потока в другой - System.IO.Stream.CopyTo
- Теперь не надо писать конструкции типа:
Вместо этого можно воспользоваться System.Lazy
private MyType field;
public Field { get { return field ?? (field = new MyType()); } } - Добавили System.Tuple<...> - вот этого часто не хватало. Определять свои классы лень только для того, чтоб вернуть два-три значения, а out-параметры не очень красивы.
Кроме того, не стоит забывать про PLINQ (да и ваабще улучшения для параллельных вычислений), Code Contracts, фоновый сборщик мусора, ковариантность и контравариантность Generic-типов.
Это в принципе именно полезные, но мало-заметные изменения. Полный список можно прочитать в этой статейке.
В принципе мое мнение - хоть и много ненужных изменений и есть то, что могли бы получше сделать (имхо вещи по типу лейзи-лоадинг и тюплов лучше было бы добавками к синтаксису сделать, а не просто как дополнительными классами), но тенденция отличная - видно реально полезные изменения.
No comments:
Post a Comment