这是名为“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();
}
答案 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;