我们在定位问题时经常需要打印数据输出到控制台,跟踪处理流程,常用的时Trace.WriteLine和Debug.WriteLine。
两者的区别是
1.Trace.WriteLine 在所有模式下输出
2.Debug.WriteLine 在debug模式下输出,release模式不输出
除了以上区别外,它俩都有严重的性能问题,所以定位完问题一定要删除.
下面列出各种方式的运行时间
Debug.WriteLine
1 2 3 4 5 6 7 8 9 | int i = 0;
DateTime begin = DateTime.Now;
while (i < 10000)
{
i++;
Debug.WriteLine(
"==="
);
}
TimeSpan timeSpan = DateTime.Now - begin;
Console.WriteLine($
"timeSpan : {timeSpan}"
);
|
输出 timeSpan : 00:00:04.0779556
Trace.WriteLine
1 2 3 4 5 6 7 8 9 | int i = 0;
DateTime begin = DateTime.Now;
while (i < 10000)
{
i++;
Trace.WriteLine(
"==="
);
}
TimeSpan timeSpan = DateTime.Now - begin;
Console.WriteLine($
"timeSpan : {timeSpan}"
);
|
输出 timeSpan : 00:00:03.9174826
Console.WriteLine
1 2 3 4 5 6 7 8 9 | int i = 0;
DateTime begin = DateTime.Now;
while (i < 10000)
{
i++;
Console.WriteLine(
"==="
);
}
TimeSpan timeSpan = DateTime.Now - begin;
Console.WriteLine($
"timeSpan : {timeSpan}"
);
|
输出 timeSpan : 00:00:00.0189497
所以在使用Debug和Trace输出内容结束后一定要删除

