C# implicit和explicit关键字的用法 | 您所在的位置:网站首页 › implicit和implicative › C# implicit和explicit关键字的用法 |
1. 什么是“implicit”和“explicit”呢? implicit:关键字是用来声明隐式的用户定义类型转换运算符。当然隐式转换可以通过不必要的类型转换来提高源代码的可读性。 explicit:关键字反之则用于显示转换用户自定义类型。 2. 用法: implicit的用法: 实现Food类和Noodle类之间的相互转换(写出Food和Noodle的实现,让下面的代码不会抛出空异常) static void Main(string[] args){ Noodle noodle=(Food)null; noodle.Name="兰州拉面"; Console.WriteLine(noodle.Name); }定义食物类 public class Food{ }定义面条类 public class Noodle{ //食物名称 public string Name{get;set;} //将Food类隐式的转换为Noodle类 public static implicit operator Noodle(Food food){ return new Noodle(); } }
定义一个ImplicitAndExplicit类 class ImplicitAndExplicit{ private int member1; private double member2; //无参构造函数 public ImplicitAndExplicit(){ this.member1=0; this.member2=0.0; } //有参构造函数 public ImplicitAndExplicit(double m){ double f; f=3.28*m; this.member1=(int)f; this.member2=12*(f-this.member1); } //由一个double隐式构造一个ImplicitAndExplicit类 public static implicit operator ImplicitAndExplicit(double m){ return new ImplicitAndExplicit(m); } //由一个ImplicitAndExplicit显式返回一个double public static explicit operator double(ImplicitAndExplicit m){ double f; f=m.member2/12+(double)m.member1; return (m/3.28); } //重写ToString方法 public override string ToString(){ return $"{member1}米和{member2}厘米"; } }
以上代码全是本人用手打上去的,如果有错误请指出哈。再见。 不求与人相比,但求超越自己,要哭就哭出激动的泪水,要笑就笑出成长的性格! |
CopyRight 2018-2019 实验室设备网 版权所有 |