C# 关键字explicit和implicit
1. 关键字的含义
implicit:代表用来声明隐式自定义类型的转换
explicit:代表用来声明显示自定义类型的转换
2.实例
此文章所有代码通过LINQPad编写
explicit 用法
定义A、B俩个类,为B声明一个显示转换。
class A
{
public int age;
}
class B
{
public string age;
public B(string age){
this.age = age;
}
public static explicit operator B(A a)
{
return new B(a.age.ToString());
}
}
main函数-使用方法
void Main()
{
A a = new A();
a.age = 10;
B b = (B)a;
b.Dump();
}
implicit 用法
同样先定义A、B俩个类,为B声明一个隐式转换
class A
{
public int age;
public A(int age)
{
this.age = age;
}
}
class B
{
public string age;
public B(string age)
{
this.age = age;
}
public static implicit operator A(B b)
{
return new A(int.Parse(b.age));
}
}
main方法-将B隐式转换为A
void Main()
{
B b2 = new B("100");
A a2 = b2;
a2.Dump();
}
2635



被折叠的 条评论
为什么被折叠?



