Новинки C# 7.2. Span<T> и Memory<T>

Вышел новый релиз языка C# версии 7.2, в котором были реализованы новые возможности. По словам кампании Microsoft, одной из основных целей данного выпуска было увеличение эффективности работы с типами данных хранимых по значению (в стеке), путем ухода от избыточного выделения памяти и выполнения ненужных операций копирования. Давайте рассмотрим основные новинки языка.

(далее…)

Code Contracts C# | Программирование по контракту C#

Code Contracts C# | Программирование по контракту C#

Программирование по контракту C# — Code Contracts C# – это метод построения архитектуры программного обеспечения, в соответствии с которым для интерфейсов компонентов системы должны быть разработаны условия определяющие допустимые значения и ожидаемое поведение системы. То есть, мы заранее задаем правила для метода и сигнализируем при их нарушении. Данный подход позволяет на порядок повысить качество и надежность кода, в то же время упрощая тестирование и отладку. Давайте более подробно рассмотрим эту идею.

(далее…)
enum_data_type

Отображение значения Enum в C# на русском

Ключевое слово enum в языке C# используется для объявления перечисления — отдельного типа, который состоит из набора именованных констант, называемого списком перечислителей. Enum существенно повышает удобочитаемость кода, позволяя избавиться от «магических переменных». Но при выводе значения пользователю возникает необходимость отображать значения в более удобочитаемом формате или на другом языке. Рассмотрим один из вариантов отображения значения enum на русском языке с использованием атрибутов.

(далее…)