架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 21995|回复: 0

[资料] C# 转换运算符:implicit(隐式),explicit(显示)

[复制链接]
发表于 2016-10-27 13:56:56 | 显示全部楼层 |阅读模式
  1. using System;

  2. namespace ConsoleApplication1
  3. {
  4.     //神仙类
  5.     class Immortal
  6.     {
  7.         public string name;
  8.         
  9.         //构造函数
  10.         public Immortal(string name)
  11.         {
  12.             this.name = name;
  13.         }

  14.         //implicit:表示隐式转换,如从 B -> A 只需直接赋值(A = B)
  15.         //此处将Immortal对象隐式转换为Monster对象
  16.         public static implicit operator Monster(Immortal value)
  17.         {
  18.             return new Monster(value.name + ",变妖怪!");
  19.         }
  20.     }

  21.     //妖怪类
  22.     class Monster
  23.     {
  24.         public string name;

  25.         //构造函数
  26.         public Monster(string name)
  27.         {
  28.             this.name = name;
  29.         }

  30.         //explicti:表示显式转换,如从 A -> B 必须进行强制类型转换(B = (B)A)
  31.         //此处将Monster对象显示转换为Immortal对象
  32.         public static explicit operator Immortal(Monster value)
  33.         {
  34.             return new Immortal(value.name + ",变神仙!");
  35.         }
  36.     }

  37.     class Program
  38.     {
  39.         //程序入口
  40.         static void Main(string[] args)
  41.         {
  42.             //创建神仙实例
  43.             Immortal tmpImmortal = new Immortal("神仙");

  44.             //隐式转换:神仙变妖怪
  45.             Monster tmpObj1 = tmpImmortal;
  46.             Console.WriteLine(tmpObj1.name);    //输出:神仙,变妖怪

  47.             //创建妖怪实例
  48.             Monster tmpMonster = new Monster("妖怪");

  49.             //显示转换:妖怪变神仙
  50.             Immortal tmpObj2 = (Immortal)tmpMonster;
  51.             Console.WriteLine(tmpObj2.name);     //输出:妖怪,变神仙

  52.             Console.ReadLine();
  53.         }
  54.     }
  55. }
复制代码






上一篇:System.NotSupportedException System.Text.RegularExpressions.Match Match(Syste...
下一篇:c# 模拟window 操作鼠标|winapi
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-10-28 16:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表