我进行了在线评估,并试图了解结果,以下是我已经做过的一些问题:
所以问题是这样的:
我也部分正确,在阅读了有关主题后我会选择选项A和D,你们可以确认吗?
非常感谢。
马可
我进行了在线评估,并试图了解结果,以下是我已经做过的一些问题:
所以问题是这样的:
我也部分正确,在阅读了有关主题后我会选择选项A和D,你们可以确认吗?
非常感谢。
马可
隐式转换不需要强制转换:
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 的问题。如果他们的意思是调用隐式转换,那么它是错误的。如果他们的意思是定义隐式转换,那么它是正确的。