如何检查用户输入是否在数据文件C#中并显示正确的消息?

时间:2017-04-24 22:49:43

标签: c# asp.net

这是名为“ChargeAccounts.txt”的数据文件。我需要在此数据文件中搜索在文本框txtAccount中输入的用户帐号。

 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 个答案:

答案 0 :(得分: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;