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 Filter 过滤器详细介绍及实例代码

    2023-11-26 01:04:39
  • Flutter 构建一个常用的页面框架

    2022-10-02 02:54:19
  • 基于javaWeb 项目SSM配置要点及可能遇到的问题和解决方法

    2023-10-27 21:45:16
  • 剖析Java中线程编程的概念

    2022-02-02 04:12:51
  • C#实现学生档案查询

    2022-10-10 05:22:07
  • Android项目实现视频播放器

    2022-10-05 07:53:35
  • java实现简单石头剪刀布小游戏

    2021-09-17 07:25:41
  • C# GDI在控件上绘图的方法

    2022-12-20 05:37:51
  • java参数传递之值传递和引用传递

    2021-09-26 10:28:46
  • C#采用OpenXml实现给word文档添加文字

    2022-06-13 09:48:46
  • apache ant进行zip解压缩操作示例分享

    2021-11-08 09:16:03
  • Android EditTextView 实现带空格分隔的输入(电话号码,银行卡)

    2023-09-02 12:48:19
  • Struts 2中的constant配置详解

    2023-11-10 08:18:18
  • shiro之记住登录信息

    2023-03-06 18:39:13
  • 在启动后台 jar包时,使用指定的 application.yml操作

    2023-01-08 20:10:12
  • java实现gif动画效果(java显示动态图片)

    2023-10-19 07:56:38
  • 如何用C#找出数组中只出现了一次的数字

    2021-06-15 15:42:56
  • java volatile关键字的含义详细介绍

    2021-11-01 16:52:17
  • 基于Freemarker和xml实现Java导出word

    2022-07-11 23:15:12
  • Maven的porfile与SpringBoot的profile结合使用案例详解

    2023-11-14 00:07:59
  • asp之家 软件编程 m.aspxhome.com