Rozważmy następujący kod aplikacji konsoli:Debug.WriteLine() kontra Console.WriteLine() inaczej obsługuje kulturę. Czemu?
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
Jak zauważył w komentarzach, że Console.WriteLine()
drukuje 19/01/2014
natomiast Debug.WriteLine()
wydruków 01/19/2014
.
Nawet gorzej - Debug.WriteLine("{0}", date)
daje inny wyjście z Debug.WriteLine(date)
...
Oczekuje się, że Debug.WriteLine()
ignoruje ustawienia Kultura wątku?
Czy istnieje sposób, aby ustawić Debug.WriteLine()
użyć ustawień kultury wątku? Czy muszę użyć String.Format()
i przekazać wynik do Debug.WriteLine()
?
(Uwaga:. Używam tego produktu w systemie Windows 8.1 64-bit, en-GB, przy użyciu programu Visual Studio 2013 z .Net 4.51 z kompilacji debugowania AnyCPU)
@TimSchmelter: To nie ma nic z tym pytaniem. – SLaks
@TimSchmelter - to do zmiany miejsca docelowego, uszkodzenie (formatowanie) zostało już wykonane. –