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<

赋值运算符

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

常见运算符的优先级

C#-运算符以及运算符的优先级_第1张图片

你可能感兴趣的:(c#)