VS.Net的调试有时候是不太准确但是你的代码的确是返回False啊

解决方案 »

  1.   

    但是它应该要返回true才行啊。
    编译成Release直接执行也是没有用的。
    都不知道到底是搞什么鬼的。。
    这里面肯定有搞鬼的地方。
    不然我以后都不敢用try,catch了。
      

  2.   

    你为什么会认为它返回False呢这段代码应该是返回False的
      

  3.   

    对不起,我是问你为什么会认为它返回True,:)
      

  4.   

    我看到调试时 return true; 那行被调用了啊。。我现在知道原因了。
    原来是vs.net在骗我。
    我不明白return true;不应该执行,指针还跳到那行去给我看if(dt==((IConvertible)obj).ToDateTime(null))
    根本就不成立的。哎。。被骗了一个早上。
      

  5.   

    remember DateTime is a Value typeif(dt==(DateTime)obj)  <==obj is a string, invalid cast
      return true;
    by the way, your problem is that DateTime has a millisecond value, :-)addcatch(Exception e)
    { Console.WriteLine(e.Message);
    }to see what's wrong
      

  6.   

    这确实是VS.net调试器的一个问题,我以前也遇见过,当使用try catch时,catch中不该执行的代码确实会被vs.net的指示器显示执行了.
      其实这些代码没有被执行,把return true;改为Console.WriteLine("OK");你会发现没有任何字符被打印出来.大概1.1版中就不会有这个问题了吧