在我的previously asked question中,我试图显示文本文件中的特定行以显示到文本框中。即使项目不存在,程序也会显示文本文件数据c#
我试过解决Jeremy Thompson
建议,甚至是pinkfloydx33
(这是我坚持)建议的重构解决方案,是的两个解决方案为我工作,但我发现程序显示数据,即使字符串不存在于文件。
例如。如果我输入以下任何一项:1,01,001,2,02,002
,它将继续执行代码并显示数据。任何人都可以告诉我如何解决这个问题?我试图通过限制他们的输入来解决这个问题(例如,他们必须输入4位数字,不多不少),但是我的问题是原始键的长度不同,所以我不能应用这种方法。
样本数据
项目键,添加日期,产品名称,品牌,型号
0001,10/08/2017,5s,苹果,电话
0002,10/08/2017年,S5,三星,手机
代码片段
string plist = @"sample_data.txt";
var line = File.ReadLines(plist).FirstOrDefault(l => l.Contains(txt_ik.Text));
if (line != null)
{
string[] parts = line.Split(',');
txt_data1.Text = parts[2];
txt_data2.Text = parts[3];
txt_data3.Text = parts[4];
MessageBox.Show("It exists!");
}
else
{
MessageBox.Show("Does not exist!");
}
样本图片
编辑
很抱歉的不确定性!用户需要输入产品密钥。当您点击“提交”并且文件中存在该项目时,它应该在文本框中显示数据。如果没有,则会弹出消息说该项目不存在。
目前还不清楚预期行为是什么 – DiskJunky
这是否意味着'ITEM KEY'字段可以多于或少于4位?所以你可以有一个12345789的ID? – DonBoitnott
@DonBoitnott是项目密钥可以是1234567890.没有特定的长度 – nik