私はこのプログラムで3時間働いていますが、どこが間違っているのかわかりません。本当にありがとうございます。問題は私がパスワードを入力しているときです。それは間違ったパスワードだと言います。正しいパスワードを入力しても、もう一度やり直すことはできません。ユーザーが間違ったパスワードを入力した場合、ユーザーは3回試すことができます3回目以降はプログラムを終了しなければなりません。どのようにユーザーがパスワードを3回C#で入力できるようにするには?
public partial class UserAndPin : Window
{
public UserAndPin()
{
InitializeComponent();
}
private void btnOK_Click(object sender, RoutedEventArgs e)
{
try
{
StreamReader sr = new StreamReader("Customer.txt");
short attempts = 0;
string line;
while ((line = sr.ReadLine()) != null)
{
string[] lineArray = line.Split(';');
if (lineArray[0] == txtName.Text & lineArray[1] == pbPassword.Password)
{
MainWindow mainWindow = new MainWindow();
this.Hide();
mainWindow.ShowDialog();
//return;
}
else
{
attempts++;
if (attempts < 3)
{
MessageBox.Show("The NAME or PIN is incorect, you have " + (3 - attempts) + " attemps more");
}
if (attempts == 3)
{
MessageBox.Show("Please try again later");
this.Close();
}
}
}
sr.Close();
}
catch (Exception error)
{
MessageBox.Show(error.Message);
}
}
}
}
デバッガの使い方を学んでください。 [小さなプログラムをデバッグする方法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/) –
@Gurwinderもう少し私に何を教えてもらえますか? – Shahzada
@Gurwinder '=='を使って文字列を比較すると何が問題になりますか? –