C#-运算符以及运算符的优先级

C#语言提供了3大类运算符
一元运算符:一个操作数,比如i++
二元运算符:比如x+y
三元运算符:只有一个:“?:”。

点运算符

指定类型或命名空间的成员,如System.Console.WriteLine(“hello”);

圆括号运算符()

(1)制定表达式运算顺序
(2)用于显示转换
(3)用于方法或委托将参数放在括号内

方括号运算符[]

(1)用于数组和索引:

int[]a;
a=new int[100];
a[0]=a[1]=1;
for(int i=2;i<100;++i)
	a[i]=a[i-1]+a[i-2];

(2)用于特性

[Conditional("DEBUG")]
void TraceMethod(){}

(3)用于指针(非托管模式)

unsafe void M()
{
	int[] nums={0,1,2,3,4,5};
	fixed(int *p=nums)
	{
		p[0]=p[1]=1;
		for(int i=2;i<100;++i)
			p[i]=p[i-1]+p[i-2];
	}
}

new 运算符

(1)用于创建对象和调用构造函数,如

Class obj=new Classl();

(2)用于创建匿名类型的实例

递增递减运算符

“++”运算符将变量的值加一,如x++;++x

相等运算符==、!=

比较两个值是否相等或者不相等

关联运算符

比较两个值的大小

typeof运算符

获取类型的System.Type对象,如System.Type type=typeof(int);

is运算符

检查对象是否给定类型兼容,x is T 含义为如果x为T,则返回True;否则返回False,例如:

static void Text(object o){
	if(o is Classl)
	{
		a=(Classl)o;
	}
}

as 运算符

x as T 含义为返回类型为T的x,x is T含义为如果x为T,则返回True,否则返回False,例如

Class c=new Classl();
Base b=c as Base;
if(b!=null)
{......}

数字运算符+ - * / %

加减乘除求余数

条件运算符 && || ?:

&&:条件“与”,如x&&y的含义是仅当x为True时计算y
|| :条件“或”,如x||y的含义是仅当x为False时计算y
?: 三元运算符。如a=x?:y:z的含义是如果x为True则a为y,如果x为False则a为z

逻辑操作符(按位操作运算符)

& 逻辑与
|逻辑或
!逻辑反
~ 按位求反
<<逻辑左移
“<<" 逻辑右移
例如x<<y含义是将x向左移动y位

赋值运算符

=
+=
-=
*=
/=
%=
<<=
>>=
&=
^=
|=
x<<=y相当于x=x<<y

常见运算符的优先级

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值