int i = 1 + 3;
// Debug.Assert method in Debug mode fails, since i == 4
Debug.Assert(i == 3);
Debug.WriteLine(i == 3, "i is equal to 3");
// Trace.Assert method in Release mode is not failing.
Trace.Assert(i == 4);
Trace.WriteLine(i == 4, "i is equla to 4");
Console.WriteLine("Press a key to continue...");
Console.ReadLine();
在调试模式下运行此代码,然后在发布模式下运行。
您将注意到,在调试模式下,代码 Debug.Assert语句失败,您将得到一个显示应用程序当前堆栈跟踪的消息框。在发布模式下不会发生这种情况,因为 Trace.Assert()条件为真 (i == 4)。