介绍几个运算符
is运算符:
is运算符可以检查对象是否与特定的类型兼容.
as运算符:
as运算符用于执行引用类型的显式类型转换.如果要转换的类型与指定的类型兼容,转换就会成功,否则,返回null.
sizeof运算符:
使用sizeof运算符可以确定堆栈中值类型需要的长度.
typeof运算符:
typeof运算符返回一个表示特定类型的System.Type对象.在使用反射,动态的查找对象的信息时,这个运算符是很有效的.
可空类型和运算符
如果在程序中使用可空类型,就必须考虑null值在与各种运算符一起使用时的影响.
通常可空类型与一元或二元运算符一起使用时,如果其中一个操作数或两个操作数都是null,其结果就是null.
protected void Page_Load(object sender, EventArgs e) { int? a = null; //输出: // a+4= Response.Write("a+4=" + (a + 4).ToString() + "<br/>"); //输出: // a*5= Response.Write("a*5=" + (a * 5).ToString()); }
在比较可空类型时,只要有一个操作数是null,比较的结果就是false.
空接合运算符:
空接合运算符(??)为处理可空类型和引用类型时表示Null值的可能性提供了一种快捷方式.
这个操作符放在两个操作数之间,第一个操作数必须是可空类型或引用类型.第二个操作数须与第一个操作数类型相同或可以隐式的转换成第一个操作数的类型.
空接运算符的计算如下:如果第一个操作数不等于null,则等于第一个操作数.
如果第一个操作数为null,则等于第二个操作数的值.
protected void Page_Load(object sender, EventArgs e) { int? a = null; //输出: // a ?? 4=4 Response.Write("a ?? 4=" + (a ?? 4).ToString() + "<br/>"); }