C#类型

1、System.Object

(1)、CLR要求每个类型都要继承自System.Object类型。

eg:class Employee {...}

(2)、CLR要求所有的对象都要用new操作符来创建

eg:Employee e = new Employee();

 

2、using使用

using引入命名空间

using指示符允许我们为一个类型或者命名空间创建另外的别名

eg:using WintellectWidget = Wintellect.Widget;

 

3、is 和 as 使用

is操作符可以检查对象是否和给定的类型兼容,并返回判断结果:true 或者 false;且 is 操作符永远不会抛出异常。如果对象引用为null,那么 is 操作符总是返回false。因为没有对象可以来检查其类型。

eg:if(o is Employee)

     {

          Employee e = (Employee) o;

      }

在上面代码中,实际上对对象o的类型检查了2次:

(1)、is 操作符首先检查 o 所引用的对象是否和Employee类型兼容。

(2)、如果兼容,在if语句内,执行类型转换时又会检查o是否为一个Employee的引用。

 

as操作符可以检查对象是否和给定的类型兼容,如果兼容,as返回一个指向同一对象的非空指针。如果不兼容,as 返回 null。且 as 操作符也不会抛出异常。

eg:Employee e = o as Employee;

     if(e != null){}

在上面代码中,只对对象o的类型检查了一次。接下来只需检查e是否为null就可以了。这种检查比检查对象类型高效的多。

 

4、类型转换

C#中一个类型转换为基类型被认为是安全的隐式操作;

C#中将一个对象转换为它的任何派生类型时,要求进行显示转换,因为这样的转型有可能失败。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值