Создаём MDI приложение с помощью Windows Forms

MDI приложения позволяют отображать несколько дочерних окон внутри одного главного окна. Что даёт возможно более рационально использовать пространство на экране и в ряде случаев повышает удобство работы с многооконным приложением. Существует два основных подхода к реализации многооконных приложений: Простое приложение. Каждое дочернее окно отображается отдельно. Multiple Document Interface (MDI). Дочерние

Продолжить чтение

Работаем с JSON в C#. Сериализация и десериализация

На сегодняшний день JSON входит в число основных форматов представления сложных структур и обмена данными. Поэтому все основные языки программирования имеют встроенную поддержку для работы с ним. C# не исключение.

Продолжить чтение

C#. Почему нужно создавать собственные классы исключений и как это правильно делать

При реализации алгоритмов разработчик нередко сталкивается с необходимостью возбуждения исключений при возникновении критических ошибок. В .NET Framework предусмотрен довольно мощный механизм работы с исключениями, основанный на классе Exception. Не станем его подробно описывать, так как это выходит за рамки данной статьи и более того всю необходимую информацию можно без труда

Продолжить чтение

Работа с регулярными выражениями в C#

В C# поддерживается работа с регулярными выражениями. Средства для работы с ними собраны в пространстве имён System.Text.RegularExpressions. При этом основой механизма обработки регулярных выражений является класс Regex.

Продолжить чтение

Операции с множествами в C#. Часть 2. Массивы

В предыдущей части мы рассматривали операции с множествами, которые были представлены в качестве экземпляров специальных классов HashSet и SortedSet. Однако довольно часто множества могут быть представлены и в виде обычных массивов. Как поступить в этом случае?

Продолжить чтение

Операции с множествами в C#. Часть 1. Классы HashSet и SortedSet

Множество – это совокупность объектов, рассматриваемая как одно целое. Для работы с множествами в библиотеке классов .NET Framework имеется целых два обобщённых класса HashSet и SortedSet, которые находятся в пространстве имён System.Collections.Generic. Различие между ними в том, что SortedSet представляет упорядоченное множество.

Продолжить чтение

Основы компиляции и выполнения кода на лету в C#

.NET так же как и Java поддерживает возможность выполнения программного кода из обычной текстовой строки непосредственно во время работы программы (на лету). Однако если для Java лучше всего использовать сторонние библиотеки (ту же BeanShell), то в .NET весь необходимый инструментарий присутствует уже изначально. Рассмотрим его использование на примере C#.

Продолжить чтение

Работа с нативными dll библиотеками в C#

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

Продолжить чтение

Самодокументирование кода в Visual Studio на примере C#

Самодокументирование – механизм описания различных элементов программы (типов, переменных, методов и т.д.) в самом исходном коде [1]. Описание составляется в виде комментария определённой структуры. При необходимости на основе данных описаний можно с помощью специальных инструментов сформировать справочную систему. Также некоторые среды разработки позволяют на их основе создавать всплывающие подсказки, которые

Продолжить чтение