Я новичок в изучении C#, и я пытаюсь создать приложение WPF, которое задает вопросы пользователя. Затем я преобразовываю эти ответы в строки и экспортирую их в файл CSV.
Один из вопросов: «Выберите число от 1 до 5». Мне нужно сделать так, чтобы, если число меньше 1 или больше 5, оно просило пользователя выбрать другое число. Я пытался добиться этого с помощью приведенного ниже кода. Это несколько работает, потому что когда я нажимаю сохранить как, ничего не произойдет, если я использую неправильный номер. Но он не спрашивает пользователя, как я хочу. Пожалуйста, кто-нибудь может взглянуть на мой код и сообщить мне, почему он не работает?
private void btnSaveClick(object sender, RoutedEventArgs e)
{
try
{
string firstName = tbFirstName.Text;
string lastName = tbLastName.Text;
string jobTitle = tbJobTitle.Text;
string chickenEgg = tbChickenEgg.Text;
string _oneFive = tbNumber.Text;
int oneFive = Convert.ToInt32(_oneFive);
if ((oneFive > 5) || (oneFive < 1))
{
throw new System.ArgumentException("Please use a number between 1-5");
}
string csvContent = string.Format("{0},{1},{2},{3},{4}", FormatCSV(firstName), FormatCSV(lastName), FormatCSV(jobTitle), FormatCSV(chickenEgg), FormatCSV(_oneFive));
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "CSV file (*.csv)|*.csv";
if (saveFileDialog.ShowDialog() == true)
File.WriteAllText(saveFileDialog.FileName, csvContent);
tbFirstName.Clear();
tbLastName.Clear();
tbJobTitle.Clear();
tbChickenEgg.Clear();
tbNumber.Clear();
tbFirstName.Focus();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadLine();
}
}
static string FormatCSV(string _input)
{
try
{
string result = "";
if ((_input.Contains(",")) || (_input.Contains(" ")))
{
result = string.Format("\"{0}\"", _input.Trim());
}
else
{
result = _input.Trim();
}
return result;
}
catch (Exception e)
{
throw e;
}
Когда я попадаю в блок catch, ничего не отображается или, кажется, не происходит.
Заранее спасибо!