我需要在特定的文本框中显示ProductData.txt
的部分内容。用户必须首先输入产品密钥以检查产品是否存在,如果存在,它将显示有关产品的部分信息,例如其名称,类型和品牌。如果产品密钥不存在,则会显示messagebox: item key not found
。我的问题是显示的数据始终是第一行。如何显示找到产品密钥的行?
CODE SNIPPET
string plist = @"ProductData.txt";
string s_temp = @"stock_temp.txt";
string[] dataline = File.ReadAllLines(plist);
if (File.ReadAllText(plist).Contains(txt_pk.Text))
{
using (StreamWriter w = File.AppendText(s_temp))
{
foreach (var line in dataline)
{
if (line.Contains(txt_pk.Text))
{
txt_pk.ReadOnly = true;
string fileData = File.ReadAllText(plist);
string[] parts = fileData.Split(',');
txt_pn.Text = parts[2];
cmb_brand.Text = parts[3];
cmb_type.Text = parts[4];
}
}
w.Close();
}
}
else
MessageBox.Show("Item Key not found!");
示例数据
项目密钥,添加日期,产品名称,品牌,类型
0001,10 / 08 / 2017,5s,苹果,电话
0002,10 / 08/2017,S5,三星,电话
答案 0 :(得分:2)
string[] parts = line.Split(',');
您需要拆分该行,而不是再次读取该文本文件。
专业提示:给调试一个步骤并逐步执行代码(按 F11 )