Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Операторы C# — исчерпывающее руководство по операторам в C#

Операторы C#

Изучите каждую категорию операторов в C# и научитесь эффективно применять их в коде.

Операторы — символы, выполняющие действия над одним или несколькими операндами — переменными, константами или выражениями. В C# операторы сгруппированы по типу выполняемой операции: арифметические, логические, побитовые и др.


1. Базовый оператор присваивания

Оператор присваивания (=) сохраняет значение в переменной.

double x;
x = 50.05;

Пример 1: Использование оператора присваивания

using System;
namespace OperatorDemo
{
    class AssignmentOperator
    {
        public static void Main(string[] args)
        {
            int firstNumber, secondNumber;
            firstNumber = 10;
            Console.WriteLine("First Number = {0}", firstNumber);
            secondNumber = firstNumber;
            Console.WriteLine("Second Number = {0}", secondNumber);
        }
    }
}

Вывод:

First Number = 10
Second Number = 10

2. Арифметические операторы

Арифметические операторы выполняют математические вычисления.

int x = 5;
int y = 10;
int z = x + y; // z = 15
C# Арифметические операторы
ОператорИмяПример
+Сложение6 + 3 = 9
-Вычитание10 - 6 = 4
*Умножение4 * 2 = 8
/Деление10 / 5 = 2
%Modulo (остаток)16 % 3 = 1

Пример 2: Арифметические операции

using System;
namespace OperatorDemo
{
    class ArithmeticOperator
    {
        public static void Main(string[] args)
        {
            double firstNumber = 14.40, secondNumber = 4.60, result;
            int num1 = 26, num2 = 4, rem;
            result = firstNumber + secondNumber;
            Console.WriteLine("{0} + {1} = {2}", firstNumber, secondNumber, result);
            result = firstNumber - secondNumber;
            Console.WriteLine("{0} - {1} = {2}", firstNumber, secondNumber, result);
            result = firstNumber * secondNumber;
            Console.WriteLine("{0} * {1} = {2}", firstNumber, secondNumber, result);
            result = firstNumber / secondNumber;
            Console.WriteLine("{0} / {1} = {2}", firstNumber, secondNumber, result);
            rem = num1 % num2;
            Console.WriteLine("{0} % {1} = {2}", num1, num2, rem);
        }
    }
}

Вывод:

14.4 + 4.6 = 19
14.4 - 4.6 = 9.8
14.4 * 4.6 = 66.24
14.4 / 4.6 = 3.1304347826087
26 % 4 = 2

3. Операторы отношения (Relational Operators)

Эти операторы сравнивают два операнда и возвращают булев результат.

C# Операторы отношения
ОператорИмяПример
==Равно6 == 4 → false
>Больше3 > -1 → true
<Меньше5 < 3 → false
>=Больше или равно4 >= 4 → true
<=Меньше или равно5 <= 3 → false
!=Не равно10 != 2 → true

Пример 3: Проверки отношений

using System;
namespace OperatorDemo
{
    class RelationalOperator
    {
        public static void Main(string[] args)
        {
            bool result;
            int firstNumber = 10, secondNumber = 20;
            result = (firstNumber == secondNumber);
            Console.WriteLine("{0} == {1} returns {2}", firstNumber, secondNumber, result);
            result = (firstNumber > secondNumber);
            Console.WriteLine("{0} > {1} returns {2}", firstNumber, secondNumber, result);
            result = (firstNumber < secondNumber);
            Console.WriteLine("{0} < {1} returns {2}", firstNumber, secondNumber, result);
            result = (firstNumber >= secondNumber);
            Console.WriteLine("{0} >= {1} returns {2}", firstNumber, secondNumber, result);
            result = (firstNumber <= secondNumber);
            Console.WriteLine("{0} <= {1} returns {2}", firstNumber, secondNumber, result);
            result = (firstNumber != secondNumber);
            Console.WriteLine("{0} != {1} returns {2}", firstNumber, secondNumber, result);
        }
    }
}

Вывод:

10 == 20 returns False
10 > 20 returns False
10 < 20 returns True
10 >= 20 returns False
10 <= 20 returns True
10 != 20 returns True

4. Логические операторы

Логические операторы оценивают булевы выражения.

C# Логические операторы
Операнд 1Операнд 2OR (||)AND (&&)
truetruetruetrue
truefalsetruefalse
falsetruetruefalse
falsefalsefalsefalse

Пример 4: Логические операторы

using System;
namespace OperatorDemo
{
    class LogicalOperator
    {
        public static void Main(string[] args)
        {
            bool result;
            int firstNumber = 10, secondNumber = 20;
            result = (firstNumber == secondNumber) || (firstNumber > 5);
            Console.WriteLine(result);
            result = (firstNumber == secondNumber) && (firstNumber > 5);
            Console.WriteLine(result);
        }
    }
}

Вывод:

True
False

5. Унарные операторы

Унарные операторы действуют на единственный операнд.

C# Унарные операторы
ОператорИмяОписание
+Unary plusЗнак не меняется
-Unary minusИнвертирует знак
++ИнкрементУвеличивает на 1
--ДекрементУменьшает на 1
!Логическое НЕИнвертирует булево

Пример 5: Унарные операторы

using System;
namespace OperatorDemo
{
    class UnaryOperator
    {
        public static void Main(string[] args)
        {
            int number = 10, result;
            bool flag = true;
            result = +number;
            Console.WriteLine("+number = " + result);
            result = -number;
            Console.WriteLine("-number = " + result);
            result = ++number;
            Console.WriteLine("++number = " + result);
            result = --number;
            Console.WriteLine("--number = " + result);
            Console.WriteLine("!flag = " + (!flag));
        }
    }
}

Вывод:

+number = 10
-number = -10
++number = 11
--number = 10
!flag = False

Пример 6: Префиксный vs постфиксный инкремент

using System;
namespace OperatorDemo
{
    class UnaryOperator
    {
        public static void Main(string[] args)
        {
            int number = 10;
            Console.WriteLine(number++); // 10
            Console.WriteLine(number);   // 11
            Console.WriteLine(++number); // 12
            Console.WriteLine(number);   // 12
        }
    }
}

Вывод:

10
11
12
12

6. Тернарный оператор

Тернарный оператор (? :) сжимает if-else утверждение в одну строку.

variable = Condition ? Expression1 : Expression2;

Если Condition — true, вычисляется Expression1; иначе — Expression2.

Пример 7: Использование тернарного оператора

using System;
namespace OperatorDemo
{
    class TernaryOperator
    {
        public static void Main(string[] args)
        {
            int number = 10;
            string result = (number % 2 == 0) ? "Even Number" : "Odd Number";
            Console.WriteLine("{0} is {1}", number, result);
        }
    }
}

Вывод:

10 is Even Number

Узнайте больше о C# тернарном операторе.


7. Побитовые и битовые сдвиг операторы

Эти операторы манипулируют отдельными битами интегральных типов.

C# Побитовые и битовые сдвиг операторы
ОператорИмя
~Побитовое дополнение
&AND
|OR
^XOR
<<Левый сдвиг
>>Правый сдвиг

Пример 8: Побитовые операции

using System;
namespace OperatorDemo
{
    class BitOperator
    {
        public static void Main(string[] args)
        {
            int firstNumber = 10, secondNumber = 20, result;
            result = ~firstNumber;
            Console.WriteLine("~{0} = {1}", firstNumber, result);
            result = firstNumber & secondNumber;
            Console.WriteLine("{0} & {1} = {2}", firstNumber, secondNumber, result);
            result = firstNumber | secondNumber;
            Console.WriteLine("{0} | {1} = {2}", firstNumber, secondNumber, result);
            result = firstNumber ^ secondNumber;
            Console.WriteLine("{0} ^ {1} = {2}", firstNumber, secondNumber, result);
            result = firstNumber << 2;
            Console.WriteLine("{0} << 2 = {1}", firstNumber, result);
            result = firstNumber >> 2;
            Console.WriteLine("{0} >> 2 = {1}", firstNumber, result);
        }
    }
}

Вывод:

~10 = -11
10 & 20 = 0
10 | 20 = 30
10 ^ 20 = 30
10 << 2 = 40
10 >> 2 = 2

Для глубокого понимания посетите руководство по побитовым и битовым сдвиг операторам C#.


8. Составные операторы присваивания

Эти операторы комбинируют арифметическую операцию с присваиванием.

C# Составные операторы присваивания
ОператорИмяПримерЭквивалентно
+=Присваивание со сложениемx += 5x = x + 5
-=Присваивание с вычитаниемx -= 5x = x - 5
*=Присваивание с умножениемx *= 5x = x * 5
/=Присваивание с делениемx /= 5x = x / 5
%=Присваивание с modulox %= 5x = x % 5
&=Присваивание с побитовым ANDx &= 5x = x & 5
|=Присваивание с побитовым ORx |= 5x = x | 5
^=Присваивание с побитовым XORx ^= 5x = x ^ 5
<<=Присваивание с левым сдвигомx <<= 5x = x << 5
>>=Присваивание с правым сдвигомx >>= 5x = x >> 5
=>Lambda операторx => x * xВозвращает x в квадрате

Пример 9: Использование составных операторов присваивания

using System;
namespace OperatorDemo
{
    class CompoundOperator
    {
        public static void Main(string[] args)
        {
            int number = 10;
            number += 5;
            Console.WriteLine(number);
            number -= 3;
            Console.WriteLine(number);
            number *= 2;
            Console.WriteLine(number);
            number /= 3;
            Console.WriteLine(number);
            number %= 3;
            Console.WriteLine(number);
            number &= 10;
            Console.WriteLine(number);
            number |= 14;
            Console.WriteLine(number);
            number ^= 12;
            Console.WriteLine(number);
            number <<= 2;
            Console.WriteLine(number);
            number >>= 3;
            Console.WriteLine(number);
        }
    }
}

Вывод:

15
12
24
8
2
2
14
2
8
1

Поздние уроки покроют лямбда-выражения детально.

Язык C

  1. Операторы в C: исчерпывающее руководство
  2. Мастерство операторов Python: Полное руководство
  3. Перегрузка операторов в Python: практическое руководство
  4. Освоение операторов Java: типы, синтаксис и практические примеры
  5. Оператор instanceof в Java: полное руководство с примерами
  6. Операторы в C++: типы, примеры и практические программы
  7. Перегрузка операторов в C++: практическое руководство с примерами кода
  8. Операторы Verilog: основная арифметика и управление для синтеза
  9. Основные операторы Java: полное руководство
  10. Операторы в C: полное руководство по арифметическим, битовым, логическим и другим операторам