C# explicti和implicit详解
来源:互联网 发布:双轨制直销软件定制 编辑:程序博客网 时间:2024/05/10 08:52
C#语言有很多值得学习的地方,这里我们主要介绍C# explicti和implicit,包括介绍隐式转换可以让我们的代码看上去更漂亮、更简洁易懂等方面。
C# explicti和implicit的含义
◆C# explicti和implicit属于转换运算符,如用这两者可以让我们自定义的类型支持相互交换
◆explicti表示显式转换,如从 A -> B 必须进行强制类型转换(B = (B)A)
◆implicit 表示隐式转换,如从 B -> A 只需直接赋值(A = B)
隐式转换可以让我们的代码看上去更漂亮、更简洁易懂,所以最好多使用implicit运算符。不过!如果对象本身在转换时会损失一些信息(如精度),那么我们只能使用 explicti运算符,以便在编译期就能警告客户调用端。
示例:
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace Example23
- {
- class Program
- {
- //本例灵感来源于大话西游经典台词“神仙?妖怪?”--主要是我实在想不出什么好例子了
- class Immortal
- {
- public string name;
- public Immortal(string Name)
- {
- name = Name;
- }
- public static implicit operator Monster(Immortal value)
- {
- return new Monster(value.name + ":神仙变妖怪?偷偷下凡即可。。。");
- }
- }
- class Monster
- {
- public string name;
- public Monster(string Name)
- {
- name = Name;
- }
- public static explicit operator Immortal(Monster value)
- {
- return new Immortal(value.name + ":妖怪想当神仙?再去修炼五百年!");
- }
- }
- static void Main(string[] args)
- {
- Immortal tmpImmortal = new Immortal("紫霞仙子");
- //隐式转换
- Monster tmpObj1 = tmpImmortal;
- Console.WriteLine(tmpObj1.name);
- Monster tmpMonster = new Monster("孙悟空");
- //显式转换
- Immortal tmpObj2 = (Immortal)tmpMonster;
- Console.WriteLine(tmpObj2.name);
- Console.ReadLine();
- }
- }
- }
- C# explicti和implicit详解
- c#关键词implicit和explicit
- C# 自定义 implicit和explicit转换
- implicit 详解
- C#之自定义的implicit和explicit转换
- c# sealed explicit implicit
- implicit和explicit
- explicit 和Implicit 区别
- explicit和implicit关键字
- explicit和implicit
- C# implicit关键字的用法
- implicit
- explicit 和 implicit 简单应用
- explicit 和 implicit 简单介绍
- explicit 和 implicit 的含义?
- 关于关键字explicit 和 implicit
- (转)C# :operator、explicit与implicit
- C#中的checked与implicit,explicit
- 须知道.NET 内存分配
- UCOS之邮箱
- JQUERY滑动选项卡自动切换鼠标滑过选项卡标签滑动切换选项卡
- google protocl buffer 序列化和反序列化的一个例子
- #ifndef#define#endif防止头文件重复包含
- C# explicti和implicit详解
- 很好玩的一个网站
- 2KB内存单片机上实现彩屏GUI控件库
- Notification及在Notification里点击操作发送广播
- Kohana视图Render
- jquery实现百度应用游戏排行图文切换特效
- 难受难受,真它吗的难受... ...
- jQuery实现的超牛的网格数据及图片自动拉伸展示效果
- 日语N4主要句型分享