在我的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