调试一些代码我遇到了一个“是IEnumerable”的比较,它在代码中混淆评估为false,但在立即窗口中为true。IEnumerable <type>在代码中为false,但在立即窗口中为true?
我想知道是否有人可以解释为什么会发生这种情况?
实施例:
public enum Fruit
{
Apples,
Strawberries
}
public void SomeMethod()
{
object myObj = new Fruit[] { Fruit.Apples, Fruit.Strawberries };
bool isListOfEnums = myObj is IEnumerable<Fruit>; // True
isListOfEnums = myObj is IEnumerable<Enum>; // False in code, but True in Immediate Window when debugged
}
(立即窗口)
? myObj is IEnumerable<Enum>
true
感谢Jon,手表在这种情况下似乎也是立即窗口,相信我也不能再相信了。 – mhapps