0
Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencySymbol = "$";
decimal value = 500;
Trace.TraceInformation("{0:C}", value);
Trace.TraceInformation(string.Format("{0:C}", value));
产生以下输出:System.Diagnostics.Trace忽略文化设置
Information: 0 : ¤500.00
Information: 0 : 500,00$
这意味着它要么执行在不同的线程格式化或忽略Thread.CurrentThread.CurrentCulture
(可能与一个不变的替换它)。为什么?? MSDN keeps silence。