在强制类型转换的过程中

时间:2021-07-30 07:46:17

  .NET Fraework 最重要的引用类型之一是System定名空间中Object类。所有的类都是System.Object的派生类。System.Object类型的变量System.Object的别号。可以写成Object。优先考虑Object

  Object类型的变量能够引用任何引用类型的任何东西。除此之外Object类型的变量也能引用值类型的实例。  

  在强制类型转换的过程中,如果内存中的东西类型与指定的类型不匹配,,运行时会抛出InavalidCastException异常,在编写措施的时候,赢考虑捕捉这种异常,并在产生时进行相应的措置惩罚惩罚。但是,在东西类型不切合预期的情况下捕捉异常并试图恢复应用措施的顺利执行,这是一个相当繁琐的过程,c#供给了两个相当有用的操纵符,能以越发得体的方法执行转型,is和as操纵符

  is操纵符:通过检测可以看出下面转型是安适的。

  

在强制类型转换的过程中

is操纵符取两个操纵数:左边东西引用,右边是类型名称。如果左边的东西是右边的类型,则is返回功效true,反之为false。

  as操纵符:
  as操纵符充当is操纵符类似的角色,只是成果稍微进行了删减。可以像下面这样使用as操纵符。使用as操纵符如果转换告成返回告成后的功效,否则返回null

在强制类型转换的过程中

  unsafe关键字:

  不安适,可以符号代码块或者这个要领,编译包罗unsafe代码的措施时,必需在生成项目时指定“允许不安适的代码”选项做法是咋解决方案资源打点器中右击项目名称------》属性------》生成------》选择“允许不安适的代码”--------》选择文件全部生存。

  unsafe代码关系到内存的打点方法;unsafe代码中创建的东西被称为“非托管”东西,虽然不常见,但偶尔也需要以这种方法访谒内训,尤其是在一些初级Windows操纵时。