Нужна помощь по одному из описателей форматов

Добрый день.
Нужна помощь. При выполнении следующей строки кода в Visual Studio :
Console.WriteLine("C Format: {0:C}", 2.5);
вместо ожидаемого вывода на экран консоли : C Format: $2.50,
появляется : C Format: 2.50 ?
В чем может быть проблема? Глюк компилятора Visual Studio? Или другое?
С благодарностью, Андрей.

Прошло немного времени и вот... Отвечаю сам себе.
Достаточно было поменять, в настройках Windows, формат региона с Русский (Украина) на Английский (США), регион Украина так и остался, как проблема разрешилась.
Итак с заданным вопросом разобрался сам, но возникают другие вопросы.
При написании коммерческого кода, в настоящих программных продуктах, как учитывается программистом, формат региона если он физически может находиться в Украине, или Чехии, Франции , России и т. д.? И как отображать при выводе символы валют других стран?

Когда используется форматирование применяется локаль установленная на вашей машине, если установлена страна Украина, денежная единица гривна, ее символ не может отобразиться в консоли, поэтому отображается знак ?, (с рублями или другими подобными символами будет такая же ситуация). Если вывод будет производиться, например в окно WPF приложения или в браузере, то проблем с символами валюты не будет.

Для того чтобы при использовании методов форматирования был получен правильный формат, независимо от настроек пользователя, можно использовать класс System.Globalization.CultureInfo

Например, в следующем коде для форматирования сообщения используется культура en-US (en - английский язык, US - соединенные штаты).

using System.Globalization;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string message = string.Format(CultureInfo.GetCultureInfo("en-US"), "{0:C}", 100);
            Console.WriteLine(message);
        }
    }
}

Другие варианты культур en-AU английский язык, Австралия, en-GB - английский язык, Великобритания. Культура содержит в себе информацию о валюте, именах месяцев, дней недели и т.д.

Дополнительно о том как использовать культуру в C# коде можно посмотреть в этом видео уроке

И с выводом валюты через форматирование не все так просто, так как нужно учитывать еще и курс валют (если в приложении содержится значене 100 то одному пользователю может вывестись 100 долларов, а второму 100 гривен). Поэтому для работы с валютой нужно будет конвертировать то значение которое находится в приложении с учетом региона пользователя. Так как в бизнес приложениях обычно есть ограничения по используемым валютам, скорее всего вывод в пользовательском интерфейсе не будет привязан к настройкам пользовательской операционной системы, а будет завязан на выбор валюты из доступного списка в самом приложении.

Если говорить о выводе названий месяцев, формате дат и файлах ресурсов (в которых находятся переведённые строки на разные языки), то как раз в этом случае будет использоваться настройки машины пользователя.

Возможно, это не самый простой пример, но в этом видео демонстрируется как культура и ресурс файлы используются для локализации (поддержки разных языков) asp.net mvc приложения.