你可能没有玩过的:C#显式(强制)类型转换重载

如果遇到自定义显式(强制)类型转换的代码,不要慌张,因为C#是可以这样的。

首先来看下面这段伪代码:

类名 对象名 = new 类名();
int 变量名 = (int)对象名;

可以从在上面伪代码看出,这里是把一个自定义的 class 类型转换成 int 类型,这样做没问题,前提是这样做前有类型转换重载,如下图所示:

上图中代码如下:

public class C
{
    int value = 0;
    public static explicit operator int(C obj)
    {
        return C.value;
    }
}

那么,效果如何呢?强制类型转换重载后,效果如下图所示:

上图中代码如下:

void main(string[] age)
{
    C obj = new C()
    int value = (int)obj;
}

从上面代码中可以看出,在强制类型转换重载后,就可以通过 “数据类型 变量名 = (数据类型)对象名” 的方式转换数据类型。

待补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值