C# 根据对另一个组合框的选择,使用逗号分隔文本文件中的内容填充组合框

C# 根据对另一个组合框的选择,使用逗号分隔文本文件中的内容填充组合框,c#,csv,combobox,C#,Csv,Combobox,在c#程序中,我有两个组合框,一个带有固定值,返回值为01,02,03 对于第二个组合框,我有一个逗号分隔的文件,其值如下: 01,一些文字 01,sometext2 02,sometext3 04,sometext4 我想用逗号分隔文件中的值填充第二个combobox,其中的数字与combobox1选择的值匹配 因此,我需要读取逗号分隔的csv文件,然后比较结果并将值添加到第二个组合框中 我尝试了下面的代码,但它返回随机值,返回的是数字,而不是textvalue combobox2.Items

在c#程序中,我有两个组合框,一个带有固定值,返回值为01,02,03

对于第二个组合框,我有一个逗号分隔的文件,其值如下: 01,一些文字 01,sometext2 02,sometext3 04,sometext4

我想用逗号分隔文件中的值填充第二个combobox,其中的数字与combobox1选择的值匹配

因此,我需要读取逗号分隔的csv文件,然后比较结果并将值添加到第二个组合框中

我尝试了下面的代码,但它返回随机值,返回的是数字,而不是textvalue

combobox2.Items.Clear();

string combobox1_SelectedValue = combobox1.SelectedItem.ToString();
string sImport = Program.Properties.Settings.Default.sImport;
string[] lineOfContents = File.ReadAllLines(sImport);

foreach (var line in lineOfContents)
{
    string[] tokens = line.Split(',');
    foreach (string uLine in tokens)
    {
        if (uLine.ToString().Substring(0) == combobox1_SelectedValue)
        {
            combobox2.Items.Add(uLine[1]);
        }
    }
}

如果文件是一行逗号和空格,则不需要行数组,但应首先按空格分隔

如果文件是一对逐行的“数字,文本”,则foreach循环应如下所示:

  foreach (var line in lineOfContents)
  {
        string[] tokens = line.Split(',');
        if (tokens[0] == combobox1_SelectedValue)
        {
            comboBox2.Items.Add(tokens[1]);
        }   
   }

问题出在哪里?读取csv,填充组合框,选择值?我认为您可能需要再次按空格(“”)拆分每个令牌,以获取该令牌的键和值,然后将数字与所选值进行比较,并返回相应的文本。我还建议使用Linq来代替混乱的循环。