考虑以下
public enum E
{
A = 1,
B = 1
}
public string F(E input)
{
return input.ToString();
}
F(E.B); //returns "A"
现在我知道你不应该这样做((E)1).ToString()
,因为它可以解决A
或B
(http://msdn.microsoft.com/en-us/library/16c1xs4z.aspx)。
但是当它是一个明确选择的值(例如B
)时,为什么会ToString()
表现得很奇怪(返回A
)?
调试时可能会看到,input
是否B
可以在代码中获取所选字段?
编辑
这个问题与调试器如何知道传递给哪个值有关F()
,而在代码中似乎无法检测到这一点?