Рассмотрим следующий код приложения консоли:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB");
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
DateTime date = new DateTime(2014, 01, 19);
Console.WriteLine("{0}", date); // Prints 19/01/2014
Debug.WriteLine("{0}", date); // Prints 01/19/2014
Debug.WriteLine(date); // Prints 19/01/2014
Как отмечено в комментариях, Console.WriteLine() печатает 19/01/2014, а Debug.WriteLine() печатает 01/19/2014.
Еще хуже - Debug.WriteLine("{0}", date) дает отличный результат от Debug.WriteLine(date)...
Ожидается ли, что Debug.WriteLine() игнорирует настройки культуры потока?
Есть ли способ сделать Debug.WriteLine() использовать настройки культуры потока? Или я должен использовать String.Format() и передать результат в Debug.WriteLine()?
(Примечание. Я запускаю это в Windows 8.1 64-bit, en-GB, используя Visual Studio 2013 с .Net 4.51 с отладкой AnyCPU build.)