转换操作符重载

有时需要将一种类型转换为另一种类型,通过隐式转换显示转换可以达到这个效果。其实这两种转换在c sharp里面也是支持用户自定义的。自定义转换时的方法必须使用public static修饰。

示例代码:

using System;

public sealed class Program
{
    private int x;

    // convert an int to Program implicitly
    public static implicit operator Program(int p)
    {
        return new Program(p);
    }

    // convert a Program object to int explicitly
    public static explicit operator int(Program p)
    {
        return p.x;
    }

    // initialize the field x
    public Program(int x)
    {
        this.x = x;
    }

    public static void Main()
    {
        // convert int to Program implicitly
        Program p = 2;

        // convert Program to int explicitly
        int a = (int) p;

        // display the result
        Console.WriteLine(a);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值