Архив C#

Основы .NET – структура .NET сборки

Microsoft .NET

Иногда не .NET разработчики (VB6, C++ и т.д.) просят меня объяснить «как работает .NET, как работает GC (сборщик мусора), почему боксинг это плохо и т.д. и т.п.». Обычно я пытаюсь найти ссылку и сохранить мое время, но для некоторых тем я не могу найти подходящих ссылок (или же они слишком широко или узко и частично раскрывают нужный вопрос).  Поэтому чтобы сохранить мое время при будущих таких объяснениях, я решил сделать несколько постов объясняющих основы .NET. К тому же я устал от всех этих архитектурных постов:)

Читать далее

Cклонение существительных после числительных в С#

Pencil

Современный пользователь любит умные приложения, умеющие доносить информацию в максимально удобочитаемой и воспринимаемой форме. Такие фразы как «осталось 2 дней» ужасно раздражают такого пользователя. Каждое нормальное приложение должно уметь склонять существительные после числительных. Далее хочу представить решение такой задачи на C#.

Читать далее

Проверка вхождения времени в некоторый интервал на C#

Время

Представьте что вы пишете динамический сайт, и нужно, чтобы в зависимости от времени суток, пользовтель видел разные сообщения. Для каждого из возможных интервалов времени необходимо написать соответствующие условия и сообщения. Если учитывать переходы между сутками, то задача немного усложняется. В этой заметке я предлагаю простое решение в виде метода расширения для структуры TimeSpan.

Читать далее

Как получить строку подключения (Connection String) из файла App.Config в C#

preferences-system-network

При работе с базами данных нам приходится иметь дело со строками подключения (Connection String). Хардкод таких строк прямо в коде является плохим тоном. Вместо этого строка подключения обычно хранится в конфигурационном файле App.Config (или Web.config, если речь идет о ASP.NET приложении).  В этой заметке я покажу как можно получить строку подключения из такого файла.

Читать далее

Перезапись строки другой строкой начиная с определенной позиции в C#

1351268299_old-edit-find-replace

Представьте что имея строку «Hello World!» нам надо перезаписать ее начина с 6-го символа строкой «guys!!» чтобы получить строку «Hello guys!!». Оказывается в .NET нет стандартного метода который позволил бы легко это сделать.

Читать далее

Обрезка HTML тегов с фильтрцией по белому списку в C#

HTML/XML

Выполнить обрезку HTML тегов с помощью C# можно многими способами, но каждый имеет свои премущества и недостатки, особенности реализации и дополнительные ньюансы. В этой статье я хочу доступно объяснить те подходы к решению этой задачи, которые помогли мне, и показать какие ньюансы могут возникнуть при их использовании.

Читать далее

Получение индекса элемента используя LINQ

1349269203_help_index

Иногда имея массив или список, нужно отобрать индексы тех элементов, которые удовлетворяют некое условие. Как мы знаем для выборки элементов идеально подходит LINQ. Но оказывается, что при отборе индексов элементов используя LINQ есть некоторые нюансы.

Читать далее

Парсинг текста и HTML тегов между двумя нодами с помощью Html Agility Pack

Иконка HTML

Иногда при парсинге HTML требуется вытянуть содержимое, которое находится между двумя нодами, и  мы точно знаем как их идентифицировать. В этой заметке я покажу как можно это сделать используя Html Agility Pack.

Читать далее

Как в C# выполнить разные действия для режимов Debug и Release

Дебаг

Иногда требуется выполнить какой то код в зависимости от того компилируем приложение в режиме Debug или Release. Например, мы хотим выполнить какие то дополнительные инструкции помогающие при дебаге, но нужно что бы они отсутствовали в коде релиз версии. В таком случае на помощь приходят директивы препроцессора.

Читать далее

Как явно включать или отключать юнит тесты C# в Microsoft Visual Studio 2010

test

Если вы хотите включить или отключить юнит тесты в Microsoft Visual Studio 2010, вы можете использовать атрибут «Ignore».
Читать далее