explicit 和 implicit 的含义?
class Program
{
static void Main(string[] args)
{
Audi ad = new Audi("奥迪A8");
Car c = ad;
Console.WriteLine("奥迪A8隐式转为大众!");
Car c1 = new Car("大众");
Audi au = (Audi)c1;
Console.WriteLine("大众显式转为奥迪A8!");
}
}
class Audi
{
string name;
public Audi(string s)
{
name = s;
}
public static implicit operator Car(Audi audi)
{
Car c = new Car(audi.name+"隐式转换为Car");
return c;
}
}
class Car
{
string name;
public Car(string Name)
{
name = Name;
}
public static explicit operator Audi(Car car)
{
return new Audi(car.name+"显式转换为Audi");
}
}