我做了在线评估,我正在努力了解结果,以下是我已经做过的一些问题:
所以问题是:
我也把这个部分正确,在阅读了关于这个主题之后,我会选择A和D选项,你们可以确认一下吗?
非常感谢。
Marco
答案 0 :(得分:1)
隐式转换不需要强制转换:
int a = 10;
long b = a;
显式转换 需要演员:
long a = 10;
int b = (int)a;
要定义(不调用)隐式转化,请使用implicit
关键字:
public static implicit operator MyOther(MyThis obj);
要定义显式转化,请使用explicit
关键字:
public static explicit operator MyOther(MyThis obj);
通常,当信息可能通过转换丢失或使用异常时,可以使用显式转换。例如,将64位long
整数转换为32位int
整数可能会丢失32个最重要的信息位。
所以,我确信A是真的,B,C和E都是假的。我不明白D.的问题。如果他们的意思是调用隐式转换,那么它就是假的。如果它们意味着定义隐式转换,那么它就是真的。