C# Programming Language |
Недавно завершил первую итерацию изучения данной книги написанной легендой программирования — Андерсом Хейлбергом, архитектором C#, Delphi и Turbo Pascal, совместно с другими специалистами, входившими в группу разработчиков C# компании Microsoft.
Что можно найти в этом невероятном издании? =)
- Новые особенности C# 4.0
- Обширные комментарии в каждой главе, написанные гуру программирования такими как Джон Скит, Джозеф Альбахари, Билл Вагнер, Кристиан Нейгел, Эрик Липперт и другими.
- Полную информацию о C#
Книга большая, советов много =)
Вот только некоторые из них:
1 / (-0.0) = -Infinity < 0 public static string DoubleToString(double d) { if (d == 0.0 && 1 / d < 0) return "-0.0"; return d.ToString(); }
2. Tuple
Для возврата из функции множества значений вместо использования входных параметров можно использовать кортежный тип (tuple type). Этот тип появился в .NET 4.
3. Locality of reference
Данный принцип делает программу более удобной для чтения и понимания.
4. Операция объединения с 0: ??
Операцию ?? удобно использовать для установки значений по умолчанию для ссылочных типов или для обнуляемых типов-значений.
5. RuntimeWrappedException
В текущей реализации языка C# и CLR Microsoft созданное исключение, не унаследованное от System.Exception, преобразуется к объекту RuntimeWrappedException. И как следствие этого, блок ctach(Exception e) перехватывает все исключения.
Если все-таки есть необходимость обеспечить семантику C# 1.0, где исключения, не относящиеся к Exception, таким способом не перехватывались, используйте следующий атрибут сборки:
[assembly:System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows = false)]
Книжка классная. Читаем, читаем 😉
Comments