私は学校でC#を使い始めています(これは宿題ではありません)。このサイトは初めてです。私は、ユーザー入力(またはユーザー名とパスワード)を受け取り、現在は1行しかない配列とユーザー入力を比較する独自のプログラムを作成しようとしています。これは私のコードの一部である...ユーザー入力を配列と比較する
int count = 0;
char delimiter = '#';
string fileInput = "";
string[] inputArray;
fileInput = inFile.ReadLine();
while(fileInput != null)
{
inputArray = fileInput.Split(delimiter);
username[count] = inputArray[0];
password[count] = inputArray[1];
/////////////
static void compare(string[] username, string[] password, int count, string userInputUsername, string userInputPassword)
{
userInputUsername = userInputUsername.ToLower();
for (int x = 0; x < count; x++)
{
if (userInputUsername == username[x] && userInputPassword == password[x])
{
loginSuccesful();
}
else if (userInputUsername != username[x] || userInputPassword != password[x])
{
loginFailed(); // Seems to give the login failed message multiple times based on the # of lines in an array in the login.txt document.
}
}
}
私の配列は、TJ#1(TJがあること、このようになりますユーザー名と1がパスワードです)。パスワードとユーザー名を正しく表示しますが、userInputUsernameを取得して配列と比較すると常にloginFailed()メソッドが返されます。
for (int x = 0; x < count; x++){
if (userInputUsername.equals(username[x]) && userInputPassword.equals(password[x]))
{
loginSuccesful();
}
else if (!userInputUsername.equals(username[x]) ||
!userInputPassword.equals(password[x]))
{
loginFailed(); // Seems to give the login failed message multiple times based on the # of lines in an array in the login.txt document.
}
}
内部には何か* username [x] *?それがuserNameの場合、* username [x] .ToLower(); * – NNR
のように小文字に変換します。username [x]はTJ#1(username#password)の配列です 私はuserInputUsername = userInputUsername.ToLower );ログイン時にユーザー名のために宣伝されてしまうことがあります。 –
次に、その配列を分割してから* userInputUsernameと比較してください。* – NNR