博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类型转换
阅读量:5846 次
发布时间:2019-06-18

本文共 607 字,大约阅读时间需要 2 分钟。

CLR最重要的特性之一就是类型安全性。
在运行时,CLR总是知道一个对象是什么类型。调用GetType方法可以返回类型。
CLR允许将一个对象转换为它的实际类型,或者它的基类型。
在C#中,可将一个对象隐式转换为它的基类型,将对象转换成派生类型需要显示转换。例:

object o = new Emplee();

Emplee e = (Emplee)o;
但是如果将一个对象转换成自己的派生类型是,会运行时报错:
object o = new object();
Emplee e = (Emplee)o;
所以CLR是类型安全的。
c#中is as的操作符用法
在c#语言中,进行类型转换的另一个方式是使用is as操作符。
is:检查对象是否兼容指定对象,返回bool类型。
例:
object o = new object();
bool b1 = (o is object);//true
bool b2 = (o is Emplee);//false

is一般的用法:

if(o is Emplee)
{
    Emplee e = (Emplee)o;
}
as:目的是简化is的代码写法,同时提升性能,用法:
Emplee e = o as Emplee;
if(e != null)
{ }
这段代码中,CLR核实o是否兼容于 Emplee类型,如果兼容就转Emplee类型,如果不兼容就返回null。

转载地址:http://huwjx.baihongyu.com/

你可能感兴趣的文章
linux的I/O多路转接select的fd_set数据结构和相应FD_宏的实现分析
查看>>
Mysql数据库InnoDB存储引擎的隔离级别
查看>>
开源监控软件 Hyperic 的两种插件
查看>>
TOMCAT
查看>>
删除一个或数个文件
查看>>
无土栽培中的物联网技术应用
查看>>
html入门的一些东西
查看>>
spring异常:Could not resolve placeholder
查看>>
div contenteditable="true"各个浏览器上的解析
查看>>
Spark学习记录(二)Spark集群搭建
查看>>
Java邮件发送:带附件 or 不带附件 is nothing
查看>>
Python骚操作:动态定义函数
查看>>
Python基本数据类型之字典
查看>>
php引用(&)详解及注意事项
查看>>
OSChina 周一乱弹 —— 只要给网,这种生活我能过一辈子
查看>>
短信猫JAVA二次开发包SMSLib,org.smslib.TimeoutException: No response from device解决方案...
查看>>
CloudStack 4.4学习总结之cloudstack-management安装
查看>>
【动弹有奖】——OSC登录并发送动弹分析(附python源码)
查看>>
protocol buffer安装及使用(非常详细)
查看>>
VTSS Error code
查看>>