2015-05-10 60 views
0

將帳號插入數組時,其長度爲6位數。他們被存儲爲字符串,因爲他們可以從0開始。C#if語句將數組與文本進行比較

作爲示例,我始終使用帳號123456,但是,當我將它放在TextBox中並單擊btnLogIn時,它會給我一個錯誤。

logInVerified是根據用戶輸入顯示或隱藏另一個文本框的方法。

private void btnLogIn_Click(object sender, EventArgs e) 
{ 

    for (int i = 0; i < account.Accounts; i++) 
    { 
     if (txtAccountNum.Text == account.getAccountNumber(i)) 
     { 
      logInVerified(true); 
      txtBalance.Text = Convert.ToString(account.getBalance(i)); 
     } 
     else if (i == account.Accounts) 
     { 
      MessageBox.Show("No account found, please check Account and PIN numbers and try again.", "No account found", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 
    } 
}  
+2

究竟是什麼錯誤?在哪一行?你的問題有點不清楚。 –

+0

我相信沒有錯誤,但代碼可能不正確。但是,當我點擊按鈕時,帳戶號碼肯定存在,我得到MessageBox顯示出來,如果我註釋掉else,如果聲明什麼也沒有發生。 – Mojomancer

+0

你是否已經通過調試器完成了它?這將是第一件要做的事情 - 查看所有變量以及「txtAccountNum.Text」實際上是否等於「account.getAccountNumber(i)」。 –

回答

1

我忘了將我的數組聲明爲static。現在修復,感謝所有幫助球員:)