Döngü (While) içinde bir girdi kullanıyorum. Ayrıca yapmak istediğim, kullanıcının girdisini, bir yöntem içinde doğrulamak ve eğer bir sayı değilse, o zaman tekrar giriş yapmak için geri dönmesi gerekir. Sorun şu ki, programı başlattığımda programı yeniden başlatmam gerekiyor. Birisi kodu nasıl kontrol edeceğimi açıklayabilir mi? Çok teşekkürler!Noob C#. Bir yöntem içinde kullanıcı girdisini doğrulamaya çalışıyorum
Console.WriteLine("Efetue a jogada ->");
string escolha = Console.ReadLine();
int verificaçaoEscolha = escolhaVerificacao(escolha);
if(valido == 1){
Console.WriteLine("Try again");
// Yöntem
public static int escolhaVerificacao(string a) {
int b;
int valido = 0;
try {
int.TryParse(a, out b);
}
catch (FormatException) {
valido = 1;
}
return valido;
}
ile çağrı olup olmadığını Doğru döndürür - bu belirten bir bayrak döndürür olup olmadığını ** BT ** Senin için bir istisna yakaladı. – Plutonix
Yapabilirseniz, bahsettiğiniz while döngüsü gibi biraz daha fazla kod eklemeyi deneyin. Bu sadece bir konsol uygulaması gibi görünüyor ve her karakteri yazdıkça doğrulamaya çalışıyorsunuz. Kullanıcı giriş karakterleri tamamlandığında tüm dizgiyi doğrulamak yerine, girişteki her karakteri doğrulamanızın bir nedeni var mı? – gmiley
@Plutonix'in dediği gibi, try/catch'a ihtiyacınız yok, sadece 'TryParse' dönüşünün gerçek olup olmadığını kontrol edebilirsiniz (burada, Plutonix'in bahsettiği waht örneğidir): 'bool isNumeric = int.TryParse (bir , dışarıda b); ' – gmiley