📜  C#|运营商(1)

📅  最后修改于: 2023-12-03 15:14:30.435000             🧑  作者: Mango

C# 运算符

C# 是一种面向对象的编程语言,支持各种运算符用于实现各种操作。在本文中,我们将探讨 C# 支持的各种运算符及其用法。

算术运算符

C# 支持以下算术运算符:

| 运算符 | 描述 | 示例 | |--------|--------|--------| | + | 加法运算符 | a + b = 30 | | - | 减法运算符 | a - b = -10 | | * | 乘法运算符 | a * b = 200 | | / | 除法运算符 | b / a = 2 | | % | 取模运算符 | b % a = 0 |

int a = 10;
int b = 20;
Console.WriteLine(a + b);     // 输出结果为 30
Console.WriteLine(a - b);     // 输出结果为 -10
Console.WriteLine(a * b);     // 输出结果为 200
Console.WriteLine(b / a);     // 输出结果为 2
Console.WriteLine(b % a);     // 输出结果为 0
关系运算符

C# 支持以下关系运算符:

| 运算符 | 描述 | 示例 | |--------|--------|--------| | == | 检查两个操作数是否相等,如果相等则条件为真 | (a == b) 不为真。 | | != | 检查两个操作数是否不相等,如果不相等则条件为真 | (a != b) 为真。 | | > | 检查左操作数是否大于右操作数,如果是则条件为真 | (a > b) 不为真。 | | < | 检查左操作数是否小于右操作数,如果是则条件为真 | (a < b) 为真。 | | >= | 检查左操作数是否大于或等于右操作数,如果是则条件为真 | (a >= b) 不为真。 | | <= | 检查左操作数是否小于或等于右操作数,如果是则条件为真 | (a <= b) 为真。 |

int a = 10;
int b = 20;
Console.WriteLine(a == b);     // 输出结果为 False
Console.WriteLine(a != b);     // 输出结果为 True
Console.WriteLine(a > b);      // 输出结果为 False
Console.WriteLine(a < b);      // 输出结果为 True
Console.WriteLine(a >= b);     // 输出结果为 False
Console.WriteLine(a <= b);     // 输出结果为 True
逻辑运算符

C# 支持以下逻辑运算符:

| 运算符 | 描述 | 示例 | |--------|--------|--------| | && | 逻辑 AND 运算符。如果两个操作数都为非零值,则条件为真,否则为假。 | (a && b) 为 false。 | | || | 逻辑 OR 运算符。如果两个操作数中有任何一个非零值,则条件为真,否则为假。 | (a || b) 为 true。 | | ! | 逻辑 NOT 运算符。如果条件为真,则逻辑 NOT 运算符将条件改为假。 | !(a && b) 为 true。 |

bool a = true;
bool b = false;
Console.WriteLine(a && b);     // 输出结果为 False
Console.WriteLine(a || b);     // 输出结果为 True
Console.WriteLine(!a);         // 输出结果为 False
赋值运算符

C# 支持以下赋值运算符:

| 运算符 | 描述 | 示例 | |--------|--------|--------| | = | 简单的赋值运算符,将右操作数的值分配给左操作数 | c = a + b 将 a + b 赋值给 c。 | | += | 加法赋值运算符,它使用两个操作数,并将右操作数添加到左操作数,并将结果分配给左操作数 | c += a 相当于 c = c + a。 | | -= | 减法赋值运算符,它使用两个操作数,并将右操作数从左操作数中减去,并将结果赋值给左操作数 | c -= a 相当于 c = c - a。 | | *= | 乘法赋值运算符,它使用两个操作数,并将右操作数乘以左操作数,并将结果赋值给左操作数 | c *= a 相当于 c = c * a。 | | /= | 除法赋值运算符,它使用两个操作数,并将左操作数除以右操作数,并将结果赋值给左操作数 | c /= a 相当于 c = c / a。 | | %= | 取模赋值运算符,它使用两个操作数,并将左操作数模右操作数的结果分配给左操作数 | c %= a 相当于 c = c % a。 |

int a = 10;
int b = 20;
int c = 0;
c = a + b;
Console.WriteLine("c = a + b  的值为:" + c);
c += a;
Console.WriteLine("c += a 的值为:" + c);
c -= a;
Console.WriteLine("c -= a 的值为:" + c);
c *= a;
Console.WriteLine("c *= a 的值为:" + c);
c /= a;
Console.WriteLine("c /= a 的值为:" + c);
c %= a;
Console.WriteLine("c %= a 的值为:" + c);
位运算符

C# 支持以下位运算符:

| 运算符 | 描述 | 示例 | |--------|--------|--------| | & | 如果运算符两侧的相应位都是 1,则设置每个位为 1,否则为 0。 | (a & b) = 12 即 0000 1100 | | | | 如果运算符两侧的相应位上任何一个为 1,则设置每个位值为 1,否则为 0。 | (a | b) = 61 即 0011 1101 | | ^ | 每个位的结果都是,如果只有一个输入位是 1 则该位为 1,否则为 0。 | (a ^ b) = 49 即 0011 0001 | | ~ | 按位取反运算符,翻转操作数的每个位,即 0 变为 1,1 变为 0。 | (~a ) = -61 即 1100 0011 | | << | 左移运算符,左操作数的值向左移动右操作数指定的位数。 | a << 2 = 240 即 1111 0000 | | >> | 向右移动运算符,左操作数的值向右移动右操作数指定的位数。 | a >> 2 = 15 即 0000 1111 |

int a = 60; // 二进制值为 0011 1100
int b = 13; // 二进制值为 0000 1101
int c = 0;

c = a & b;     // 重复下面的例子以尝试所有的位运算符
Console.WriteLine("a & b 的值为:" + c);

c = a | b;
Console.WriteLine("a | b 的值为:" + c);

c = a ^ b;
Console.WriteLine("a ^ b 的值为:" + c);

c = ~a;
Console.WriteLine("~a 的值为:" + c);

c = a << 2;
Console.WriteLine("a << 2 的值为:" + c);

c = a >> 2;
Console.WriteLine("a >> 2 的值为:" + c);
条件运算符(三元运算符)

C# 支持条件运算符,也称为三元运算符。它可以被认为是一个简单的 if/else 语句。该运算符有三个操作数,第一个操作数是一个布尔表达式,第二个操作数是如果布尔表达式求值为 true 所返回的值,第三个操作数是如果布尔表达式求值为 false 所返回的值。

int a = 10;
int b = 20;
int c;

c = (a > b) ? a : b;

Console.WriteLine("c 的值为:" + c);

以上是 C# 支持的运算符的简要介绍。运算符是编写任何编程语言的重要组成部分,熟悉运算符及其用法是成为一名优秀的开发人员至关重要的一步。