使用CultureInfo获取货币代码列表

本文关键字:代码 列表 货币 获取 CultureInfo 使用 | 更新日期: 2023-09-27 18:15:24

我想将所有货币符号的列表传递给c#中的属性,因此,除了手动给出货币代码列表之外,是否有任何方法可以使用CultureInfo.

使用CultureInfo获取货币代码列表

获得可用的货币代码或货币符号列表。

请注意,这可能不是完全可能的,因为给定的计算机可能没有安装所有区域性。

也就是说,您可以使用GetCultures方法加载区域性
CultureInfo.GetCultures(CultureTypes.AllCultures);

添加一点LINQ来提供一个选择…

// string[] rather than char[] due to NumberFormatInfo.CurrencySymbol returning a string
string[] currencySymbols = 
    CultureInfo.GetCultures(CultureTypes.AllCultures)
        // This will select the currency symbol for each given Culture
        // Because cultures define a host of number formatting rules, you have to dig into the NumberFormat property to get Currency Symbol
        .Select(culture => culture.NumberFormat.CurrencySymbol)
        // Since some cultures use the same currency symbol, this will trim out duplicates
        .Distinct()
        // Enumerate this to an array in order to avoid reevaluating the entire process every time it's accessed
        .ToArray();