0

我进行了在线评估,并试图了解结果,以下是我已经做过的一些问题:

从字符串中获取枚举值

更改方法声明

在此处输入图像描述

所以问题是这样的:

我也部分正确,在阅读了有关主题后我会选择选项A和D,你们可以确认吗?

非常感谢。

马可

4

1 回答 1

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 的问题。如果他们的意思是调用隐式转换,那么它是错误的。如果他们的意思是定义隐式转换,那么它是正确的。

于 2013-04-27T16:07:15.573 回答