c#currency combobox

时间:2011-01-10 14:26:46

标签: c#

我想为我的应用程序创建一个Currency ComboBox(下拉列表)控件,并且如果有人有一种巧妙的方式将它们放入数组中,那么我将在RegionInfo对象中存在作为属性的货币。

干杯,

理查德

2 个答案:

答案 0 :(得分:7)

像这样:

CultureInfo.GetCultures(CultureTypes.SpecificCultures)
           .Select(c => new RegionInfo(c.LCID).CurrencySymbol)
           .Distinct()

在我的(Windows 7)计算机上,生成

ر.س.‏
лв.
€
NT$
Kč
kr.
$
₪
Ft
¥
₩
kr
zł
R$
fr.
lei
р.
kn
Lek
฿
TL
Rs
Rp
₴
Ls
Lt
т.р.
ريال
₫
դր.
man.
ден.
R
Lari
रु
RM
Т
сом
S
m.
so'm
টা
ਰੁ
રૂ
ଟ
ரூ
రూ
ರೂ
ക
ট
₮
£
៛
₭
ل.س.‏
රු.
ETB
؋
PhP
ރ.
N
$b
һ.
с.
Q
RWF
XOF
د.ع.‏
Fr.
Din.
ман.
сўм
৳
DZD
ج.م.‏
HK$
Дин.
S/.
د.ل.‏
KM
د.ج.‏
MOP
CHF
₡
د.م.‏
B/.
د.ت.‏
RD$
КМ
ر.ع.‏
J$
Bs. F.
ر.ي.‏
BZ$
د.ا.‏
TT$
ل.ل.‏
Z$
د.ك.‏
Php
د.إ.‏
$U
د.ب.‏
Gs
ر.ق.‏
Rs.
L.
C$

答案 1 :(得分:0)

对于我们这些使用.NET 2(没有选择内部数组)的人,并打破SLak的优秀答案中发生的一些事情:

(现在使用来自http://weblogs.asp.net/gunnarpeipman/archive/2008/05/15/getting-distinct-values-from-arrays.aspx的GetDistinctValues,因为.Net 3.5中没有区别)

        CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
        List<string> CountryCodes = new List<string>();
        foreach (CultureInfo ci in cultures)
        {
            RegionInfo ri = new RegionInfo(ci.LCID);
            CountryCodes.Add(ri.ISOCurrencySymbol);
        }
        string [] CountryCodeArray = GetDistinctValues(CountryCodes.ToArray());

public string[] GetDistinctValues(string[] array)
{
    List<string> list = new List<string>();

    for (int i = 0; i < array.Length; i++)
    {
        if (list.Contains(array[i]))
            continue;
        list.Add(array[i]);
    }
    return list.ToArray();
}