Архив рубрики ‘C#’

Перегрузка

April 7, 2010

Иногда бывает удобно создать две функции, которые делают одно и то же, но получают разные параметры. Такая задача особенно часто возникает для конструкторов, когда существует несколько способов создания нового экземпляра.

class Point

» Читать запись: Перегрузка

Параметры ref и out

April 7, 2010

Использовать две функции класса для чтения переменных не всегда удобно. Было бы неплохо получить оба значения при вызове одной функции. Впрочем, функция обладает лишь одним возвращаемым значением.

Решение проблемы заключается в передаче параметров по ссылке (с ключевым словом ref). В этом случае переданные параметры можно модифицировать в функции класса:

» Читать запись: Параметры ref и out

Функции класса

April 7, 2010

Рассмотренный выше конструктор Point() является примером функции класса (member function) — фрагмента кода, вызываемого для экземпляра объекта. Конструкторы вызываются автоматически только при создании экземпляра оператором new.

Остальные функции класса могут быть объявлены следующим образом:

» Читать запись: Функции класса

Классы

April 7, 2010

Классы — это «сердце» любого приложения в объектно-ориентированном языке. Данная глава состоит из нескольких разделов. В первом разделе описаны некоторые часто используемые концепции C#. Материал последующих разделов встречается на практике несколько реже (в зависимости от того, какие программы вы пишете).

» Читать запись: Классы

Пользовательские классы исключений

April 7, 2010

У последнего примера имеется недостаток — вызывающая сторона не может определить причину исключения при вызове DoAverage() на основании одного типа исключения. Чтобы узнать, что исключение произошло из-за нулевого значения переменной count, в тексте сообщения приходится искать строку "Count is zero".

» Читать запись: Пользовательские классы исключений

Передача исключений вызывающей стороне

April 7, 2010

Иногда при возникновении исключения бывает трудно сделать что-либо осмысленное — исключение должно быть обработано вызывающей функцией. Существует три основных сценария: игнорирование, промежуточная обработка и возврат дополнительной информации.

» Читать запись: Передача исключений вызывающей стороне

Иерархия исключений

April 7, 2010

Все классы исключений C# являются производными от класса Exception, который является частью Common Language Runtime[1]. При возникновении исключения блок catch выбирается среди подходящих блоков, для чего тип исключения сравнивается с типом, указанным в блоке. Блокам catch с точным совпадением типа отдается предпочтение перед более общими исключениями. Вернемся к нашему примеру:

» Читать запись: Иерархия исключений

Проверка и перехват исключений

April 7, 2010

Обработка исключений требует несколько специфической организации программного кода. Фрагменты, которые могут инициировать исключения, помещаются в блок try, а код обработки исключений находится в блоке catch. Рассмотрим пример:

using System;

» Читать запись: Проверка и перехват исключений

Команды

April 7, 2010

Команды C# аналогичны командам C++ за некоторыми исключениями, уменьшающими вероятность ошибки. Имеется и несколько новых команд. Команда foreach используется для перебора элементов массивов и коллекций. Команда lock реализует механизм взаимного исключения в многопоточных сценариях, а команды checked и unchecked управляют проверкой переполнения в математических операциях и преобразованиях.

» Читать запись: Команды

Основные типы данных

April 7, 2010

В C# поддерживается стандартный набор типов данных. Для каждого типа данных, поддерживаемого C#, существует соответствующий тип .NET Common Language Runtime. Например, тип int в C# соответствует типу System.Int32 времени выполнения. В большинстве случаев вместо типа int можно указывать System.Int32, однако подобные замены не рекомендуются, поскольку это усложняет чтение программы.

» Читать запись: Основные типы данных

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты