我有以下代码来搜索数组:
for (int i = 0; i < this.passwordList.Length; i++)
{
string userInput = Convert.ToString(this.passInput);
if(userInput == passwordList[i])
{
MessageBox.Show("FOUND");
foundResult = 1;
break;
}
//MessageBox.Show();
}
并且数组具有以下结果:
public string[] passwordList = {"123456", "145784" , "asasas"};
我做错了什么!?!?
答案 0 :(得分:4)
错误可能在这里:
string userInput = Convert.ToString(this.passInput);
如果你有一个WinForms控件,请尝试这样的事情:
string userInput = this.passInput.Text;
您可能还想检查调试器中userInput
的值,以确保它包含您期望的值。
答案 1 :(得分:1)
您没有提供有关所有变量的信息,但我怀疑该行
string userInput = Convert.ToString(this.passInput);
是问题所在。如果this.passInput
是一个控件,您将获得控件类型的名称,而不是用户输入控件的名称。
如果确实如此,您可以将代码简化为以下内容:
if (passwordList.Contains(this.passInput.Text)) {
MessageBox.Show("FOUND");
foundResult = 1;
}