zoukankan      html  css  js  c++  java
  • c#中结构的转化示例

    c#中结构的转化示例

    structconversion.cs
    using System;

    struct RomanNumeral
    {
        
    public RomanNumeral(int value) 
        
    {
            
    this.value = value; 
        }

        
    static public implicit operator RomanNumeral(int value)
        
    {
            
    return new RomanNumeral(value);
        }

        
    static public implicit operator RomanNumeral(BinaryNumeral binary)
        
    {
            
    return new RomanNumeral((int)binary);
        }

        
    static public explicit operator int(RomanNumeral roman)
        
    {
             
    return roman.value;
        }

        
    static public implicit operator string(RomanNumeral roman) 
        
    {
            
    return("Conversion not yet implemented";
        }

        
    private int value;
    }


    struct BinaryNumeral
    {
        
    public BinaryNumeral(int value) 
        
    {
            
    this.value = value;
        }

        
    static public implicit operator BinaryNumeral(int value)
        
    {
            
    return new BinaryNumeral(value);
        }

        
    static public implicit operator string(BinaryNumeral binary)
        
    {
            
    return("Conversion not yet implemented";
        }

        
    static public explicit operator int(BinaryNumeral binary)
        
    {
            
    return(binary.value);
        }


        
    private int value;
    }


    class Test
    {
        
    static public void Main()
        
    {
            RomanNumeral roman;
            roman 
    = 10;
            BinaryNumeral binary;
            
    // Perform a conversion from a RomanNumeral to a
            
    // BinaryNumeral:
            binary = (BinaryNumeral)(int)roman;
            
    // Performs a conversion from a BinaryNumeral to a RomanNumeral.
            
    // No cast is required:
            roman = binary;
            Console.WriteLine((
    int)binary);
            Console.WriteLine(binary);
        }

    }

    邀月注:本文版权由邀月和博客园共同所有,转载请注明出处。
    助人等于自助!  3w@live.cn
  • 相关阅读:
    正则表达式详解
    js前端性能优化之函数节流和函数防抖
    Vue 给axios做个靠谱的封装(报错,鉴权,跳转,拦截,提示)
    你所误解的微信公众号开发、以及微信公众号网页授权、接收url跳转参数等问题
    JavaScript 复杂判断的更优雅写法
    秒懂 this(带你撸平this)
    Vue.js 3.0 新特性预览
    完美平滑实现一个“回到顶部”
    从插入排序到希尔排序
    LWIP协议中tcp_seg结构相关指针的个人理解
  • 原文地址:https://www.cnblogs.com/downmoon/p/1019250.html
Copyright © 2011-2022 走看看