C# 操作符学习的一些总结:C# 操作符都有什么分类呢?C# 操作符的各自的用法是什么呢?让我们开始我们的讲解:
算术: + - * / %
逻辑: & | ^ ~ && || !
字符串连接: +
自加, 自减: ++ --
移位:<< >>
比较: == != < ><= >=
赋值: = += -= *= /= %= &= |= ^= <<= >>=
取指: []
类型: sizeof is typeof as
溢出异常: checked unchecked
Null coalescing operator: ??
◆C# 操作符之is
检查当前的对象是否兼容要检查的类型,即是否是这个类型或是否继承自这个类型
- int i = 10;
- if (i is object)
- {
- Console.WriteLine(“i is an object”);
- }
◆C# 操作符之as
显式类型转化,如果类型不兼容,将返回null
- object o1 = “Some String”;
- object o2 = 5;
- string s1 = o1 as string; // s1 = “Some String”
- string s2 = o2 as string; // s2 = null
typeof
返回System.Type类型
◆C# 操作符之Nullable Types and Operators:?
在C#里一个值类型的变量不可能是Null的,他包含了一个值类型的类型本身。这就是为什么我们管值类型叫做值类型。
但是很多情况下会有问题。可以定义一个列的数据类型是32bit的整型数而对应FCL中的Int32类型。但是,这一列在数
据库中暗示着可能为空,就意味着这一列的数据为空是可以接受的。但是使用.NET Framework 来操作数据库中的数据
是很困难的因为CLR不允许int32 的值为空的这一种表现形式。
为了改进这个形式,微软增加了一个Nullable类型的变量在CLR中。
- Int32? a = 5;
- Int32? b = null;
- Int32? c = (Int32)a;
- Double? d = 5;
- Double? e = b;
- a++;//a = 6
- b = -b;//b = null
- a = a + 3; // a = 9
- b = b * 3; // b = null;
对于(+ ++ = == ! ~) 一元的 如果开始null,结果还是null
(+ ++ = == ! ~) 一元的 如果开始null,结果还是null
(+ - * / % & | ^ << >>) 二元的,一个是null,另一个也是null
( == !=). =运算符,如果操作数都是null的话,那么他们相等。如果一个是null,那么不想等。如果都不是null,那么比较数值大小再返回是否相等。
(< > <= >=)比较运算符,如果一个是null,返回false。如果都不是null,那么比较数值大小。再返回。
◆C# 操作符之??
需要两个操作数。如果左面的操作数不为null,那么返回左面的操作数。如果左边的操作符为空的话,那么返回右边的操作符.
??操作很方便,可以用来设置变量的初始值。
- Int32? b = null;
- Int32? x = b ?? 123;
C# 操作符学习的一些总结就向你介绍到这里,希望对你了解和学习C# 操作符有所帮助。
【编辑推荐】