C# – 算术运算符及表达 013

c#编程中各符号的意思。

C和C++开发人员应很熟悉大多数C#运算符,这里为新程序员和VB开发人员介绍最重要的运算符,并介绍C#中的一些新变化。
C#支持表5-1所示的运算符,其中有4个运算符(sizeof、*、–>、&😉只能用于不安全的代码(这些代码绕过了知码C#类型安全性的检查),这些不安全的代码见第7章的讨论。
表 5-1

类 别

运 算搭念哪 符

算术运算符

+ – * / %

逻辑运算符

& | ^ ~ && || !

字符串连接运算符

+

增量和减量运高埋算符

++ – –

移位运算符

<< >>

比较运算符

== != < > <= >=

赋值运算符

= += –= *= /= %= &= |= ^= <<= >>=

成员访问运算符(用于对象和结构)

.

索引运算符(用于数组和索引器)

[]

数据类型转换运算符

()

条件运算符 (三元运算符)

?:

委托连接和删除运算符(见第6章)

+ –

对象创建运算符

new

类型信息运算符

sizeof (只用于不安全的代码) is typeof as

类 别

运 算 符

溢出异常控制运算符

checked unchecked

间接寻址运算符

* –> & (只用于不安全代码) []

命名空间别名限定符(见第2章)

::

空接合运算符

??

使用C#运算符的一个最大缺点是,与C风格语言一样,赋值(=)和比较(==)运算使用不同的运算符。例如,下述语句表示“x等于3”:
x = 3;
如果要比较x和另一个值,就需要使用两个等号(==):
if (x == 3)
C#非常严格的类型安全规则防止出现常见的C#错误,也就是在逻辑语句中使用赋值运算符代替比较运算符。在C#中,下述语句会产生一个编译错误:
if (x = 3)
(xi)惯使用宏字符&来连接字符串的VB程序员必须改变这个(xi)惯。在C#中,使用加号+连接字符串,而&表示两个不同整数值的按位AND运算。| 则在两个整数之间执行按位OR运算。VB程序员可能还没有使用过%(取模)运算符,它返回除运算的余数,例如,如果x等于7,则x% 5会返回2。
在C#中很少会用到指针,因此也很少会用到间接寻址运算符(–>😉。使用它们的惟一场合是在不安全的代码块中,因为只有在此C#才允许使用指针。指针和不安全的代码见第7章。
5.1.1 运算符的简化操作
表5-2列出了C#中的全部简化赋值运算符。
表 5-2

运算符的简化操作

等 价 于

x++, ++x

x = x + 1

x– –,– –x

x = x – 1

x+= y

x = x + y

x–= y

x = x – y

x *= y

x = x * y

x /= y

x = x / y

x %= y

x = x % y

x >>= y

x = x >> y

x <<= y

x = x << y

运算符的简化操作

等 价 于

x &= y

x = x & y

x |= y

x = x | y

x ^= y

x = x ^ y

为什么用两个例子来说明++增量和– –减量运算符?把运算符放在表达式的前面称为前置,把运算符放在表达式的后面称为后置。它们的执行方式有所不同。
增量或减量运算符可以作用于整个表达式,也可以作用于表达式的内部。当x++和++x单独占一行时,它们的作用是相同的,对应于语句x = x + 1。但当它们用于表达式内部时,把运算符放在前面(++x)会在计算表达式之前递增x,换言之,递增了x后,在表达式中使用新值进行计算。而把运算符放在后面(x++)会在计算表达式之后递增x—— 使用原来的值计算表达式。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。聚才发仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 tenspace2022@163.com 举报,一经查实,本站将立刻删除。 本文链接:https://www.jucaifa.com/post/1157004.html 商机洞察 金融谷 前沿技术

niuniuniuniu
上一篇 2023年12月8日
下一篇 2023年12月8日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注