【发布时间】:2016-05-21 10:43:53
【问题描述】:
为什么快速观察显示语句 p == "" 为 false,但我们要进入 if 语句。
static void Main(string[] args)
{
string q = "";
A(q);
}
static void A (object p)
{
if(p == null || p =="")
{
Console.WriteLine("Debugger shows false");
}
}
这是一个错误吗?
请注意,根据Compare string and object in c# p == "" 仍应评估为true,因为"" 是一个内部字符串 - 这确实在执行代码时发生,但在快速监视中失败。
【问题讨论】:
-
看看 ide 中的绿色曲线。这个警告是有原因的。 :)
标签: c#