C#=> 不常用的运算符

虽然是不常用,但还是要知道地。要说这也算未雨绸缪了,O(∩_∩)O哈哈~

 

1,::命名空间别名限定符

(名字太生硬,看例子)

 

可以像下面这样对命名空间引用(定义别名)
using Space = MySpace.Class.ChildClass;

 

之后就可以使用了(※命名空间别名限定符 ::),当然这里Space后用[.]也是一样的。

Space::ClassA clsA = new Space::ClassA();

 

2,sizeof运算符,Framework2.0之前使用,之后就没了。

sizeof(int),取回int型在堆栈中值的长度,单位是字节

 

3,typeof(类名称)返回一个表示特定类型的System.Type对象

使用typeof(MyClass)查看MyClass的成员信息。(因为MyClass为空,实际上显示的是继承自Object类的信息)

  

4,&与VB中的连接字符串不同,C#中它代表两个不同整数值得安位数AND运算。

 

5,% 取模 返回除运算的余数,5%3 = 2

 

6,【?:】 实际上这个还算比较常用的,呵呵,不切提了。

     三元运算符,是if...else的简化

     (条件)? (条件真时的操作):(条件假时的操作);

      

 

7,is 运算符 用于检查对象是否与特定类型兼容,有助于解决类型转化中类型不兼容的问题。

     这里说的兼容,包括类型相同,或者派生于该类型。

 如 int类型派生于object类型,所以判断为真

 

8,as 运算符用于执行引用类型的显示类型转换,

如果兼容则成功,如果失败就返回null, 这是有实际意义的,见下例

     object obj2 = 10;

     string s2 = (string)obj2;

这里我们用强制类型转换在编译过程中会报错,但如果我们这样定义

     string s2 = obj2 as string;

而s2 = null

 

这里我们如果把object obj2 = 10;换成var obj2 = 10; 

那么编译也会出错,原因是var会推测出obj2是int类型,也就不会试着转换了。

 

9,可空类型 T? 其中T为值类型的变量,如 int? i =  null;

     可控类型实际上就是将值类型可以表示常范围内的值,再加上一个 null 值,而引用类型已经实现了null值的支持,所以无法创建基于引用类型的可空类型。

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值