在C#编程中,运算符和表达式是构建复杂逻辑和处理数据的关键元素。以下是对C#运算符与表达式的详细解析:
一、运算符
运算符是一种特殊的符号,用于执行各种数学、逻辑和其他操作。C#中的运算符可以分为以下几类:
-  算术运算符: - +:加法运算符,用于将两个数值相加。
- -:减法运算符,用于将一个数值减去另一个数值。
- *:乘法运算符,用于将两个数值相乘。
- /:除法运算符,用于将一个数值除以另一个数值。
- %:取模运算符,用于获取两个数值相除的余数。
- ++和- --:自增和自减运算符,用于将变量的值增加或减少1。
 
-  关系运算符: - ==:等于运算符,用于判断两个数值是否相等。
- !=:不等于运算符,用于判断两个数值是否不相等。
- >:大于运算符,用于判断左边的数值是否大于右边的数值。
- <:小于运算符,用于判断左边的数值是否小于右边的数值。
- >=:大于等于运算符,用于判断左边的数值是否大于或等于右边的数值。
- <=:小于等于运算符,用于判断左边的数值是否小于或等于右边的数值。
 
-  逻辑运算符: - &&:逻辑与运算符,当两个条件都为true时,结果为true。
- ||:逻辑或运算符,当至少一个条件为true时,结果为true。
- !:逻辑非运算符,用于取反操作,将true变为false,false变为true。
 
-  赋值运算符: - =:简单赋值运算符,用于将右边的值赋给左边的变量。
- 复合赋值运算符,如 +=、-=、*=、/=等,它们结合了算术运算符和赋值运算符的功能。
 
-  位运算符: - &:按位与运算符。
- |:按位或运算符。
- ^:按位异或运算符。
- ~:按位取反运算符。
- <<和- >>:左移和右移运算符。
 
-  其他运算符: - ?::条件运算符,也称为三元运算符,根据条件表达式的值返回两个值中的一个。
- is和- as:类型检查和转换运算符。
- typeof:用于获取类型的- System.Type对象。
- sizeof:用于获取类型或变量在内存中的大小(以字节为单位)。
- new:用于创建对象或数组的实例。
 
二、表达式
表达式是由运算符、变量、常量和函数组成的组合,用于生成计算结果。表达式可以非常简单,只包含一个运算符和两个操作数,也可以非常复杂,包含多个运算符和操作数。
-  表达式的类型: - 算术表达式:由算术运算符、操作数和括号构成的表达式。
- 关系表达式:由关系运算符将两个表达式连接起来的表达式,其结果类型为 bool。
- 逻辑表达式:由逻辑运算符将布尔值或能返回布尔值的表达式连接起来的表达式。
- 赋值表达式:带有赋值运算符的表达式,其作用是将赋值符号右边表达式的值赋值给左边的对象。
 
-  表达式的计算: - 表达式的计算顺序受运算符优先级和结合性的影响。
- 优先级确定了哪个运算符会先进行计算。
- 结合性确定了当有多个相同优先级的运算符时,它们是从左到右还是从右到左进行计算。
- 可以使用括号来改变运算次序,明确指定计算顺序。
 
-  表达式的示例: 
int x = 5;
int y = 10;
int sum = x + y; // 算术表达式,结果为15
bool isTrue = x > y && y == 10; // 逻辑表达式,结果为false
int result = (x + y) * 2; // 复杂表达式,结果为30