CLR最重要的一个特性就是类型安全。CLR在运行时总能知道一个对象的类型。我们也可以通过调用GetType()方法,来得到对象的准确类型。因为该方法是一个非虚方法,所以我们不可能利用它来篡改一个类型的信息。(Microsoft.NET 框架程序设计<修订版>p117)
我们定义如下类:
复制代码 代码如下:
public class Employee
{
string name= string.Empty;
float age = -1;
public override string ToString()
{
return "name = "+name +" and age = "+age;
}
}
通过如下代码:
复制代码 代码如下:
Employee e = new Employee();
object oe = e as object;
if(oe == null)
{
Console.WriteLine("oe is null");
}
Console.WriteLine("oe's type is : {0}",oe.GetType());
通过以上,应该可以明白“CLR在运行时总能知道一个对象的类型。”了。
as 操作符提供了对左边实例到右边类型的兼容性检验,如果兼容,即左边实例可以转换为右边类型的对象,则返回此对象的引用,否则返回null。除了as操作符之外,C#中还提供了is 操作符,它也提供了对左边实例与右边类型的兼容性检验,只不过当检验结果兼容时,它返回的是true,否则返回false,因此,它还需要额外的显示操作,以完成转换。所以相对比较起来,as操作符效率更高些。此外,两个操作符运行过程中,都不会抛出异常。但是as操作符要求对转换过的对象增加是否为null引用的判断,以防止转换不成功时,对空引用操作。
由于as操作符在检验结果不兼容时,会返回null,因此,as操作符不可以把实例与值类型相检验,否则编译不通过。因为值类型不能赋值为null(?除外).
相关推荐:
b2c电商网站制作流程,b2c水平综合的电商平台?
大连 网站制作,大连天途有线官网?
简历制作网站建设,想在网上投简历,哪几个网站比较好?
PHP 字符串分割和比较
无锡网站制作公司哪家好,无锡找房子哪个网站最靠谱?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
如何制作自己的网站教程,怎样制作自己的网页?
找人制作网站多少钱,网上怎么找人帮忙?
seo网站制作优化,网站SEO优化步骤有哪些?
制作网站开发票怎么开,学会建网站需要多长时间?
MSSQL 字符段分段更新
自贡网站制作公司,自贡银行怎么网上开户?
家具网站制作软件,家具厂怎么跑业务?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
jquery select选中的一个小问题
sqlserver 字符串分拆 语句
SQL语法 分隔符理解小结
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
,巨量百应是干嘛的?
学习ExtJS 访问容器对象
,有没有好的电影网站推荐?本人想看最新的电影?
最近脚本之家网站无法访问的公告20090923
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
php面向对象全攻略 (十六) 对象的串行化
asp.net下获取浏览器类型的实现代码
php 不同编码下的字符串长度区分
JavaScript delete 属性的使用
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
JS 文件本身编码转换 图文教程
制作网站的基本流程,设计网站的软件是什么?
油猴 教程,油猴搜脚本为什么会网页无法显示?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
Oracle 中文字段进行排序的sql语句
金*站制作公司有哪些,金华教育集团官网?
从Web查询数据库之PHP与MySQL篇
dw个人网站制作,如何在电脑上建立一个网站,谢谢啊?
IE FF OPERA都可用的弹出层实现代码
ASP 三层架构 Convert类实现代码
乐山网站制作公司,乐山老年大学2025年怎么报名?
mysql 编码设置命令
成都响应式网站开发,dw怎么把手机适应页面变成网页?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
,长沙社保局官方网站?
制作一个网站的流程有哪些,怎样注册网站?
Mootools 1.2教程 函数
Oracle 添加用户并赋权,修改密码,解锁,删除用户的方法