Оператор — это символ, указывающий операцию, выполняемую над одним или несколькими аргументами. При выполнении оператора получается результат. Синтаксис применения операторов несколько отличен от вызова методов, и формат выражений, содержащих операторы в С#, вы должны знать как свои пять пальцев. Как и в большинстве других языков, семантика операторов в С# соответствует правилам и нотациям, знакомым нам со школьной скамьи. Базовые операторы в С# включают умножение (*), деление (/), сложение и унарный плюс (+), вычитание и унарный минус (—), модуль (%) и присваивание (=).
Операторы служат для того, чтобы получить новое значение из значений, над которыми производится операция. Эти исходные значения называются
операндами.
Результат операции должен быть сохранен в памяти. Иногда он сохраняется в переменной, содержащей один из исходных операндов. Компилятор С# генерирует сообщение об ошибке, если при использовании оператора не определяется или не сохраняется новое значение. Приведенный ниже код значений не меняет. Компилятор выдаст сообщение об ошибке, так как арифметическое выражение, не приводящее к изменению хоть одного значения, обычно рассматривается как ошибочное.
class NoResultApp
{
public static void Main()
{
int i; int j;
i + j; // Ошибка, поскольку результат ничему не присваивается. } >
Большинство операторов работает только с числовыми типами данных, такими как
Byte, Short, Long, Integer, Single, Double
и
Decimal.
Исключение — операторы сравнения (== и !=). Кроме того, в С# можно применять операторы + и — для класса
String
и даже применять операторы инкремента (++) и (—) для таких необычных языковых конструкций как делегаты. О последних я расскажу в главе 14.