Essayez d'utiliser break;
pour sortir de la boucle (également utiliser if-else, si plutôt que si, si ..)
if (File.Exists(binaryFilePath))
{
while (true)
{
Program.DisplayMessage("The file: " + binaryFileName + " exist. You want to overwrite it? Y/N");
string overwrite = Console.ReadLine();
if (overwrite.ToUpper() == "Y")
{
WriteBinaryFile(frameCodes, binaryFilePath);
break;
}
else if (overwrite.ToUpper() == "N")
{
throw new IOException();
overwrite = null;
break;
}
else if (overwrite.ToUpper() != "Y" && overwrite.ToUpper() != "N")
{
Program.DisplayMessage("!!Please Select a Valid Option!!");
overwrite = Console.ReadLine();
}
}
}
bien que le break;
après "N" est inutile, mais j'espère que vous êtes gérer l'exception que vous lancez ailleurs.
veuillez ne pas annuler les modifications des utilisateurs. Ils essaient d'améliorer la mise en forme du code pour rendre la question plus lisible et donc responsable. – ChrisF
Pourquoi utilisez-vous la boucle while? Et pourquoi lancez-vous une exception si l'utilisateur répond non et puis remplacez par null? – esrange
@esrange il semble qu'il a signifié à ReadLine() jusqu'à ce qu'une option valide ait été entrée, puis a rompu avec la boucle en définissant l'écrasement sur null. @ale pause; est le moyen de sortir de la boucle. – adorablepuppy