Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用CultureInfo中的两个元素填充combobox_C#_Winforms_Combobox_.net 4.5 - Fatal编程技术网

C# 如何使用CultureInfo中的两个元素填充combobox

C# 如何使用CultureInfo中的两个元素填充combobox,c#,winforms,combobox,.net-4.5,C#,Winforms,Combobox,.net 4.5,我需要构建一个函数,用CultureInfo中的2个元素(EnglishName和CurrencyEnglishName)填充组合框。阅读这里的其他文章,我发现下面的代码,它使用一个列表用一个元素填充组合框。如何使用类似于此的代码用2个元素填充组合框 public static List<string> GetCountryList() { List<string> cultureList = new List<string>(); Cul

我需要构建一个函数,用CultureInfo中的2个元素(EnglishName和CurrencyEnglishName)填充组合框。阅读这里的其他文章,我发现下面的代码,它使用一个列表用一个元素填充组合框。如何使用类似于此的代码用2个元素填充组合框

public static List<string> GetCountryList()
{
    List<string> cultureList = new List<string>();


    CultureInfo[] cultures =  CultureInfo.GetCultures(CultureTypes.SpecificCultures);

    foreach (CultureInfo culture in cultures)
    {
        RegionInfo region = new RegionInfo(culture.LCID);

        if (!(cultureList.Contains(region.EnglishName)))
        {
            cultureList.Add(region.EnglishName);                     
        }
    }

    return cultureList;
}
公共静态列表GetCountryList()
{
List cultureList=新列表();
CultureInfo[]cultures=CultureInfo.GetCultures(cultureType.SpecificCultures);
foreach(文化信息文化中的文化)
{
RegionInfo region=newregioninfo(culture.LCID);
if(!(cultureList.Contains(region.EnglishName)))
{
cultureList.Add(region.EnglishName);
}
}
回归文化主义;
}

附加信息:框架4.5,Windows窗体。

请尝试此功能,我已经测试过。
首先定义用于绑定的自定义类:

public class CountryCurrencyPair
{
    public string Country { get; set; }
    public string Currency { get; set; }
}
然后通过Linq简化查询:

    public List<CountryCurrencyPair> GetCountryList()
    {
        return CultureInfo.GetCultures(CultureTypes.SpecificCultures)
            .Select(c => new RegionInfo(c.LCID)).Distinct()
            .Select(r => new CountryCurrencyPair()
            {
                Country = r.EnglishName,
                Currency = r.CurrencyEnglishName
            }).ToList();
    }
public List GetCountryList()
{
返回CultureInfo.GetCultures(CultureType.SpecificCultures)
.Select(c=>newregioninfo(c.LCID)).Distinct()
.Select(r=>newcountrycurrencypair()
{
国家=r.EnglishName,
货币=r.CurrencyEnglishName
}).ToList();
}
最后绑定到控件:

    private void button1_Click(object sender, EventArgs e)
    {
        List<CountryCurrencyPair> lst = GetCountryList();
        this.comboBox1.DisplayMember = "Country";
        this.comboBox1.ValueMember = "Currency";
        this.comboBox1.DataSource = lst;
    }
private void按钮1\u单击(对象发送者,事件参数e)
{
List lst=GetCountryList();
this.comboBox1.DisplayMember=“Country”;
this.comboBox1.ValueMember=“Currency”;
this.comboBox1.DataSource=lst;
}

这个组合框使用什么框架?我使用的是框架4.5。这是WPF、Windows窗体、Xamarin还是Unity?请为您的问题添加更多信息。这是Visual Studio中的Windows窗体。
cultureList.add(region.EnglishName+“-”+region.CurrencyEnglishName)