Okey、私はここで完全に明白な何かが不足していると思います。私はそれを見るために新鮮な目のペアが必要です、私は疲れています。C#ユーザー名の比較(2文字列)
文字通り、if文で2文字列を比較していますが、同じものとは思えません。
public Boolean checkusn(String username)
{
MySqlDataReader reader = sendcmd("SELECT username FROM `users`");
Boolean taken = true;
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
Console.Write(reader.GetString(i) + " " + username + " ");
if (username == reader.GetString(i))
{
taken = false;
label17.Text = "Username already taken";
}
else
{
taken = true;
label17.Text = "Username not taken";
}
}
}
return taken;
}
出力は次ある:
hayhay hayhay test hayhay
そう試験とhayhayとhayhayとの比較hayhay。 しかし、それは同じようにそれらを考えていません....
使用 'string.Equals(string2の)'デフォルトでは、SQLのテキスト比較は大文字と小文字を区別しないですが、C#で、それは大文字と小文字が区別だと – Tdorno
注意==ません。 – Dai
'taken = false'と' taken = true'は間違った方向にあります。ブレークポイントを使用する方法とコードをステップ実行する方法を学習する必要があります。人生はずっと楽になります。 https://msdn.microsoft.com/en-us/library/5557y8b4.aspx –