Архив C#

Разница между константами и полями только для чтения в C#

Const

Как с помощью констант так и с помощью полей только для чтения (readonly fields) можно добиться одной и той же цели — инициализировать поле обьекта при его создании неким значением, которое гарантированно не будет изменено при дальнейшей жизни этого обьекта. Но эти два способа сильно отличаются друг от друга. В этой статье я попытаюсь доступно рассказать про эти отличия.

Читать далее

Конвертирование TimeSpan в год, месяц, дату (расчет возраста) в .NET

Calendar

Как правило, необходимо отобразить разницу Datetime в виде количества лет, месяцев или дней. Элементарным примером этого является расчет возраста.  В .NET разница дат выражена в TimeSpan.

Если вам необходимо просто посчитать количество лет между двумя датами, то можно сделать так:

Читать далее

Реверсирование строки в C#

Реверсирование строки

К сожалению, класс String в C# не содержит метода Reverse(), поэтому вот три способа как можно реверсировать строку:

Читать далее

XNA 4.0 — No suitable graphics card found

Если вы новичок в XNA Game Studio, то наверняка сталкивались с данной проблемой. Вот скриншот ошибки:

1  XNA 4.0   No suitable graphics card found

Читать далее

Прорисовка текста с помощью спрайта в XNA 4.0

1334089262_designer

Для того что бы хоть чуть-чуть «прошарится» в XNA я сначала решил разобрать одну статью из официальной справки. В данной статье, как вы поняли из названия мы будем выводить текст на экран. Результат.

Читать далее

Как запретить закрытие формы

Delete

Перед закрытием формы вызывается виртуальный метод Form.OnClosing() с параметром типа CancelEventArgs. Для отмены закрытия формы нужно переопределить метод Form.OnClosing() в классе наследнике и в его теле выставить в true свойство Cancel. Читать далее

Что такое XNA и с чем его едят?

1333902069_preferences-desktop-gaming

Что такое Microsoft XNA

«Microsoft XNA — набор инструментов с управляемой средой времени выполнения (.NET), созданный Microsoft, облегчающий разработку и управление компьютерными играми. XNA стремится освободить разработку игр от написания «повторяющегося шаблонного кода» и объединить различные аспекты разработки игр в одной системе. Набор инструментов XNA был анонсирован 24 марта 2004 на Game Developers Conference в Сан-Хосе, Калифорния. Первый Community Technology Preview XNA Build был выпущен 14 марта 2006.» — говорит википедия.

Читать далее

Шаблоны проектирования в .NET: Наблюдатель (Observer)

Design

Хороший объектно-ориентированный дизайн подчеркивает важность инкапсуляции и слабой связанности. Иными словами, классы должны сохранять внутренние детали приватными, а также сводить к минимуму их строгие зависимости. В большинстве приложений, классы не работают в изоляции, они взаимодействуют со многими другими классами. Распространенным сценарием взаимодействия классов является случай, когда один класс (Наблюдатель) должен быть оповещен, когда что-то меняется в другом (Субъект). Читать далее

.NET: An attempt was made to load a program with an incorrect format

alert

Если у вас возникла эта проблема то у вас скорее всего 64 битная ОС и на ней исполняется 64bit exe который загружает 32bit dll, или другой вариант — 32bit ОС на которой 32bit exe пытается загрузить 64bit dll. В этом посте предположим что это и есть главная причина.

Читать далее

Простой пример обнаружения лиц с Emgu CV

face

После своей последней статьи про использование библиотеки Emgu CV я решил слегка усложнить задачу. Я решил не просто выводить видео с веб камеры, а заставить программу распознавать человеческие лица. Данный пример не является научным пособием и он не очень сильно оптимизирован, это всего-навсего простой пример. С ним можно поиграться (если вас зацепило), что я вам советую.

В данной статье будет использоваться метод Виолы-Джонса. Советую почитать статью - лучшее что я видел.

Читать далее