C# 转换运算符:implicit(隐式),explicit(显示)
2016-11-17 15:41
387 查看
//A类 class Cls1 { public string name; //构造函数 public Cls1(string name) { this.name = name; } //implicit:表示隐式转换,如从 B -> A 只需直接赋值(A = B) //此处将:A对象隐式转换为B对象 public static implicit operator Cls2(Cls1 value) { return new Cls2(value.name + " 变 B"); } } //妖怪类 class Cls2 { public string name; //构造函数 public Cls2(string name) { this.name = name; } //explicti:表示显式转换,如从 A -> B 必须进行强制类型转换(B = (B)A) //此处将:B对象显示转换为A对象 public static explicit operator Cls1(Cls2 value) { return new Cls1(value.name + " 变 A"); } } class Program { //程序入口 static void Main(string[] args) { //隐式转换:A变B Cls2 cls2 = new Cls1("A"); Console.WriteLine(cls2.name); //输出:A,变B //显示转换:B变A Cls1 cls1 = (Cls1)new Cls2("B"); Console.WriteLine(cls1.name); //输出:B,变A Console.ReadLine(); } }
相关文章推荐
- C# 转换运算符:implicit(隐式),explicit(显示)
- c#自定义类型的转换方式operator,以及implicit(隐式)和explicit (显示)声明的区别
- 显示转换explicit和隐式转换implicit
- 菜鸟之隐式转换(implicit)、显示转换(explicit)及转换函数(operator()const)
- c# implicit explicit关键字(隐式和显式数据类型转换)
- c#自定义类型的转换方式operator,以及implicit(隐式)和explicit (显示)声明的区别
- c# implicit explicit关键字(隐式和显式数据类型转换)
- c#自定义类型的转换方式operator,以及implicit(隐式)和explicit (显示)声明的区别
- operator,implicit(隐式)和explicit (显示)转换
- C# 参考之转换关键字:operator、explicit与implicit
- 转换运算符 implicit,explicit,operator
- C# 参考之转换关键字:operator、explicit与implicit
- C#隐式和显示类型转换
- C# 参考之转换关键字:operator、explicit与implicit
- 显式和隐式转换:Explicit and Implicit,Immortal and Monster
- C#的隐式和显示类型转换
- C#基础:类型转换(隐式转换和显示转换)
- C# int类型显示和隐式转换的比较
- 显示实现和隐式实现接口的区别(Implicit and Explicit Interface Implementations)
- C# 显示转换与隐式转换_记录