如果您使用的是完整的 .NET Framework,* 您可以通过枚举CultureInfo
实例并创建相关RegionInfo
的.NET 框架来获取唯一货币LCID
。然后,您可以从 中返回相关货币字段RegionInfo
,即ISOCurrencySymbol
、CurrencyEnglishName
和CurrencySymbol
。
例如,以下代码将返回 distinctISOCurrencySymbol
以及关联的名称和符号。
var currencies = CultureInfo.GetCultures(CultureTypes.SpecificCultures)
.Select(ci => ci.LCID).Distinct()
.Select(id => new RegionInfo(id))
.GroupBy(r => r.ISOCurrencySymbol)
.Select(g => g.First())
.Select(r => new
{
r.ISOCurrencySymbol,
r.CurrencyEnglishName,
r.CurrencySymbol,
});
对于原始问题中提供的 ISO 符号,将返回以下信息:
AUD, $, 澳元
CAD, $, 加元
EUR, ?, 欧元
GBP, £, 英镑
JPY, ¥, 日元
USD, $, 美元
注意:RegionInfo.CurrencyNativeName
也存在,但它将以给定地区的母语提供货币名称。因此,它可能具有与之关联的ISOCurrencySymbol
各种实例,并且在这种情况下对映射没有用处。CurrencyNativeName
* .NET Core 似乎不支持枚举CultureInfo
.