zoukankan      html  css  js  c++  java
  • C#中的类型转换机制是什么?

    NET中,所有类型都继承自System.Object类型,因此可以很容易的获得对象的准确类型,方法是:GetType()方法。

    C#中的类型转换机制有两种分类方法:

    一种是根据转换方式的不同进行划分,可以分为显式 (Explicit) 转换和隐式 (Implicit) 转换两种;

    另外一种是根据源类型和目标类型之间的关系进行划分,可以分为变换 (Conversion)、投射 (Cast)和装箱/拆箱 (Boxing/Unboxing)。

    隐式转换就是系统默认的、不需要加以特别声明也不用特殊的方法就可以进行的转换。在隐式转换过程中,编译器无需对转换进行详细检查就能够安全地执行转换。

    –隐式数值转换实际上就是从低精度的数值类型到高精度的数值类型的转换。

    –隐式枚举转换允许把十进制整数0转换成任何枚举类型,对应其它的整数则不存在这种隐式转换。还是让我们用例子来说明。

    –隐式引用转换是指一类引用类型之间的转换,这种转换总是可以成功,因此不需要在运行时进行任何检查。

    –装箱转换允许将“值类型”隐式转换为“引用类型”。

    显式转换又叫强制类型转换。与隐式转换正好相反,显式转换需要用户明确地指定转换的类型。--它并不是总能成功,而且常常可能引起
    信息丢失。为了避免在进行强制类型转换时由于目标类型无效,而导致运行时抛出InvalidCastException异常,C#提供了IS与AS操作
    符进行类型判断与“安全”的强制类型转换。
  • 相关阅读:
    linux常用命令
    虚函数、纯虚函数、虚函数表、虚析构函数(一)
    有没有easyx库文件
    请教那位老师帮忙修重新改按键定义
    C语言txt文件元素追加
    do-while是如何控制指针+1的呢
    printf后的句子怎么显示啊
    如何用C语言生成高斯粗糙面
    读取文件时程序报错调试了好久不知道如何解决
    新人求教:字符串在文件输入中的整体输入
  • 原文地址:https://www.cnblogs.com/miralce/p/2915895.html
Copyright © 2011-2022 走看看