Архив для категории: ‘C#’

Создание приложений на основе формы в C#

Формы — это окна приложений. C# предлагает достаточно мощный и простой в освоении инструментарий для создания приложений на основе форм. Можно сказать, что эта технология во многом общая с Delphi или Visual Basic. Разработчику нужно разместить на окне визуальные компоненты (кнопки, списки, меню, текстовые поля, рисунки и пр.) и запрограммировать события, связанные с этими компонентами. […]

Читать далее »

Файловый ввод-вывод в C#

Цель занятия Изучить простые способы работы с файлами в C#. Краткие теоретические сведения. В данной работе будут изучены не только механизмы файлового ввода-вывода, но и другие важные программные принципы C#. Дополнительно рекомендуем [9].

Читать далее »

Использование подпрограмм в C#

Примером использования подпрограмм может служить следующий: using System; class Ex { static void Main() Console.WriteLine ("Вызываем метод Jump …"); Jump () ; } static void Jump() { Console.WriteLine ("Привет из Jump …");

Читать далее »

Работа с файлами в C#

Рассмотрим, как организовать работу с файлами, на примерах. В первом из них обратимся к низкоуровневой работе с файлами (листинг 3.12). Листинг 3.12. Работа с файлами using System; using System.IO; using System.Text; class Test public static void Main()

Читать далее »

Инициализаторы объектов в C#

В С# предусмотрено сокращение, которое можно использовать при инициализации новых экземпляров объектов. Наверняка вам часто приходилось писать код, подобный приведенному ниже: 1 2 3

Читать далее »

Ссылочные типы в C#

Сборщик мусора (GC) внутри CLR управляет всем, что касается размещения объектов. Он может перемещать объекты в любое время. При этом CLR обновляет переменные, ссылающиеся на эти объекты. Обычно вас не заботит точное местоположение объекта в куче, и вам не нужно беспокоиться о том, перемещен он или нет.

Читать далее »

Уничтожение объектов

Если создание объектов показалось сложным, приготовьтесь к еще худшему. Как известно, среда CLR содержит в себе сборщик мусора, управляющий памятью от вашего имени. Можно создавать любое количество новых объектов и никогда не беспокоиться о явном освобождении занимаемой ими памяти.

Читать далее »

Обобщенные делегаты

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

Читать далее »

Ограниченные области выполнения

Пример из предыдущего раздела демонстрирует некоторый уровень паранойи, который следует допускать для написания “пуленепробиваемого” нейтрального к исключениям кода. Чтобы предотвратить исключение, связанное с переполнением стека, перед вызовом ListSwap даже было выделено необходимое дополнительное пространство.

Читать далее »

Имеет ли значение порядок параметров?

Предположим, что создается структура для представления простых комплексных чисел, скажем, Complex, и требуется складывать вместе экземпляры Complex. Было бы также удобно иметь возможность прибавлять простые значения double к экземпляру Complex. Добавление такой функциональности — не проблема, поскольку можно перегрузить метод операции + так, чтобы один параметр был Complex, а другой — double. Это объявление может […]

Читать далее »
 
Rambler's Top100