gpt4 book ai didi

c# - 有什么方法可以获取货币名称列表并将它们映射到货币符号?

转载 作者:行者123 更新时间:2023-12-04 03:34:43 24 4
gpt4 key购买 nike

我有 C# 代码可以使用 Cultures ( link ) 生成这样的列表:

AUD $ 
CAD $
EUR €
GBP £
JPY ¥
USD $

我想要的也是这样的列表:

Australian Dollar
Canadian Dollar
Euro
British Pound
Japanese Yen
United States Dollar

我其实想要的是应该有一个下拉样式的Winforms Combobox,用户从中选择货币,比如British Pound,然后通过一个函数什么的,GBP£ 被退回。这将帮助我解析用户可能在相邻货币值文本框中键入的货币值。

那么我可以使用 Cultures(或其他不需要 Internet 连接的东西)来获取描述性的货币名称列表吗?

最佳答案

如果您使用的是完整的 .NET Framework*,您可以通过枚举 CultureInfo 实例并通过 创建相关的 RegionInfo 来获取唯一货币LCID。然后,您可以从 RegionInfo 返回相关的货币字段,即 ISOCurrencySymbolCurrencyEnglishNameCurrencySymbol

例如,以下代码将返回不同的 ISOCurrencySymbol 以及关联的名称和符号。

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, $, Australian Dollar
CAD, $, Canadian Dollar
EUR, ?, Euro
GBP, £, British Pound
JPY, ¥, Japanese Yen
USD, $, US Dollar


注意:RegionInfo.CurrencyNativeName 也存在,但它将以给定区域的本地语言提供货币名称。因此,同一个 ISOCurrencySymbol 可能有与其关联的多个 CurrencyNativeName 实例,并且在这种情况下不会证明对映射有用。

* .NET Core 似乎不支持枚举 CultureInfo

关于c# - 有什么方法可以获取货币名称列表并将它们映射到货币符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15904690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com