2017-04-24 9 views
0

これは "ChargeAccounts.txt"という名前のデータファイルです。テキストボックスtxtAccountに入力されたユーザーアカウント番号をこのデータファイルで検索する必要があります。ユーザ入力がデータファイルC#にあるかどうかをチェックして正しいメッセージを表示するにはどうすればよいですか?


5658845 
4520125 
7895122 
8777541 
8451277 
1302850 
8080152 
4562555 
5552012 
5050552 
7825877 
1250255 
1005231 
6545231 
3852085 
7576651 
7881200 
4581002 

私はこの配列を使用してこれを実現する必要があります。

const int SIZE = 18; 
    string[] acct = new string[SIZE]; 

これは私が持っているコードで、それだけで表示されます「アカウントが無効です。」データファイルから口座番号を入力しても

private void FindAccountNumber() 
    { 
     System.IO.StreamReader file = 
     new System.IO.StreamReader("ChargeAccounts.txt"); 

     acct = File.ReadAllLines("ChargeAccounts.txt"); 


     for (int i = 0; i < acct.Length; i++) 
     { 

      if (txtAccount.Text.Contains(acct[i])) 
      { 
       lblMessage.Text = "Account is valid"; 
      } 
      else 
      { 
       lblMessage.Text = "Account is invalid."; 
      } 
     } 

     file.Close(); 
    } 

答えて

1

すべての要素に対して反復処理を行い、反復処理ごとにlblMessage.Textを更新しています。したがって、txtAccount.Textにファイルの最後の番号が含まれている場合にのみ、有効な状態を取得できます。有効な番号が見つかったらforの文を破ってください。

string message = "Account is invalid."; 
for (int i = 0; i < acct.Length; i++) 
{ 
    if (txtAccount.Text.Contains(acct[i])) 
    { 
     message = "Account is valid"; 
     break; 
    } 
} 
lblMessage.Text = message; 
+0

完璧、ありがとうございます! – Jaruto

関連する問題