使用包含键=值条目的文本文件(例如:ABCD = ABCD)并使用在C#程序中定义的词典来打开该文件以用作组合框时,我遇到了一些困难。
下面是我当前的代码,我使用add静态定义了键/值字段(整个列表大约有30个条目)。
Dictionary<string, string> vendors = new Dictionary<string, string>();
vendors.Add("ADVENE", "ADVENE");
vendors.Add("DFG RISK", "DFG RISK");
DataGridViewComboBoxColumn vendcol = new DataGridViewComboBoxColumn();
vendcol.Name = "vendor";
vendcol.HeaderText = "Vendor";
vendcol.DisplayMember = "Value";
vendcol.ValueMember = "Key";
vendcol.DataSource = vendors.ToList();
dataGridView1.Columns.Add(vendcol);
在打开应用程序时,如何将上述键/值条目转换为文本文件并由组合框使用?
我尝试使用StreamReader
,但是我完全不知道如何实现它。
谢谢
答案 0 :(得分:2)
假设您的文本文件具有以下格式:
ADVENE=ADVENE
DFG RISK=DFG RISK
您可以使用以下代码对其进行解析:
var vendors = new Dictionary<string, string>();
using (var reader = new StreamReader(@"c:\temp\test.txt"))
{
string line = string.Empty;
while ((line = reader.ReadLine()) != null)
{
string[] keyValue = line.Split(new char[] { '=' });
vendors.Add(keyValue[0], keyValue[1]);
}
}
要填充DataGridViewColumn
,您可以尝试以下操作:
var vendcol = new DataGridViewComboBoxColumn();
vendcol.HeaderText = "Vendor";
vendcol.ValueMember = "Key";
vendcol.DisplayMember = "Value";
vendcol.DataSource = vendors.ToArray();
dataGridView1.Columns.Add(vendcol);