c# 类型转换

时间:2021-06-17 06:45:22 

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。

标签:类型转换
0
投稿

猜你喜欢

  • Java基础知识之StringWriter流的使用

    2023-01-19 00:47:52
  • 实例分析java中重载与重写的区别

    2021-09-11 01:49:38
  • 解决ThingsBoard编译报错问题:Failure to find org.gradle:gradle-tooling-api:jar:6.3

    2021-11-20 16:24:22
  • Go Java算法猜数字游戏示例详解

    2022-03-02 21:01:50
  • Java程序控制逻辑—流程控制

    2023-08-28 01:51:18
  • Java8 Stream流的常用方法汇总

    2023-07-17 17:56:59
  • java中初始化MediaRecorder的实现方法

    2023-11-29 03:54:52
  • Java使用RedisTemplate如何根据前缀获取key列表

    2023-03-05 01:50:40
  • Spring中XML schema扩展机制的深入讲解

    2022-06-29 07:44:15
  • Java使用组合模式实现表示公司组织结构功能示例

    2022-07-31 08:03:37
  • spring中的FactoryBean代码示例

    2023-11-11 18:37:20
  • JSON Web Token(JWT)原理入门教程详解

    2023-02-05 06:34:43
  • C# 下载文件 删除文件 写入文本的实例

    2022-11-27 18:34:25
  • JavaWeb登录界面登录失败在同一页面进行提示的解决

    2023-11-26 15:51:34
  • Java几种常用的断言风格你怎么选

    2021-10-30 23:30:32
  • JAVA基础-GUI

    2023-10-24 22:26:07
  • SpringMVC拦截器创建配置及执行顺序

    2023-06-06 20:41:16
  • 聊聊Controller中RequestMapping的作用

    2021-12-08 20:48:45
  • C++高并发内存池的整体设计和实现思路

    2023-07-03 16:29:31
  • 详解Java如何实现小顶堆和大顶堆

    2023-11-10 04:03:05
  • asp之家 软件编程 m.aspxhome.com