私のpreviously asked questionでは、テキストファイルから特定の行をテキストボックスに表示しようとしていました。プログラムは、項目が存在しなくてもテキストファイルのデータを表示します。C#
私は解決策pinkfloydx33
(これは私が執着しているものです)を提案し、両方の解決策が働いていましたが、文字列がファイル。
たとえば、次のいずれかを入力すると:1,01,001,2,02,002
、それはコードと表示データを実行し続けます。どのように私はこれを修正することができます誰か教えてください?私は入力を制限することでこの問題を回避しようとしました(たとえば、4桁の数字を入力する必要があります)。しかし、私の問題は元のキーの長さが違うためです。
サンプルデータ
項目キー、追加された日付、製品名、ブランド、TYPE
0001,10/08/2017,5s、アップル、電話
0002,10/2017/08、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!");
}
サンプル画像
EDIT
曖昧さのため申し訳ありません!ユーザーはプロダクトキーを入力する必要があります。あなたが提出し、そのアイテムがファイルに存在すると、それはテキストボックスにデータを表示することになっています。そうでない場合は、アイテムが存在しないと言うメッセージが飛び出します。
意図した動作が何であるかはっきりしない – DiskJunky
これは、「ITEM KEY」フィールドの値が4桁を超えることができることを意味しますか?だから12345789のIDを持つことができますか? – DonBoitnott
@DonBoitnottはいアイテムキーは1234567890とすることができます。特定の長さはありません – nik