亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
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
%取模(余数)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. 关系运算符

比较两个操作数并返回布尔结果。

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} 返回 {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);
            result = (firstNumber <= secondNumber);
            Console.WriteLine("{0} <= {1} 返回 {2}",firstNumber, secondNumber, result);
            result = (firstNumber != secondNumber);
            Console.WriteLine("{0} != {1} 返回 {2}",firstNumber, secondNumber, result);
        }
    }
}

输出:

10 == 20 返回 False
10 > 20 返回 False
10 < 20 返回 True
10 >= 20 返回 False
10 <= 20 返回 True
10 != 20 返回 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#一元运算符
运算符名称描述
+一元加符号不变
-一元减取反符号
++自增加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:前缀与后缀自增

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#位运算与移位运算符
运算符名称
~按位取反
&按位与
|按位或
^按位异或
<<左移
>>右移

示例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
%=取模赋值x %= 5x = x % 5
&=按位与赋值x &= 5x = x & 5
|=按位或赋值x |= 5x = x | 5
^=按位异或赋值x ^= 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

后续教程将详细讲解Lambda表达式。

C语言

  1. C 语言运算符完全指南:算术、关系、逻辑、位运算等
  2. C++ 运算符全解析:类型、示例与示例程序
  3. C++ 运算符重载实战指南:语法、方法、限制与代码示例
  4. C 语言运算符大全:算术、关系、逻辑、位运算、赋值与优先级详解
  5. C++运算符大全:算术/关系/逻辑/位/赋值/杂项与优先级结合性
  6. Verilog 运算符:综合必备的算术与控制运算符
  7. MATLAB 基础语法速成:交互计算、变量、运算符、格式控制与注释
  8. 精通Python运算符:全面指南
  9. 精通 Python 运算符重载:实战指南
  10. 精通 Java 运算符:类型、语法与实战示例
  11. Java instanceof 运算符完全指南:用法、继承与接口检查
  12. Java 核心运算符全面指南