Startwith metodu örnek ile ilgili bir sorun var

Katılım
18 Haziran 2021
Mesajlar
319
Çözümler
3
Daha fazla  
Cinsiyet
Erkek
C#:
static void Main(string[] args)
 {
 Console.WriteLine("Kullanıcı Adı Tanımlayın");
 string kadi = Console.ReadLine();
 if(KullaniciAdiKontrol(kadi))
 {
 Console.Write("Kullanıcı Adı Tanımlama Başarılı");
 }
 else.
 {
 Console.Write("Kullanıcı Adı Tanımlarken Başına Sayı Eklenemez");
 }

 }

 static bool KullaniciAdiKontrol(string kadi)
 {
 if (kadi.StartsWith('1'))
 return true;
 else if (kadi.StartsWith('2'))
 return true;
 else if (kadi.StartsWith('3'))
 return true;
 else if (kadi.StartsWith('4'))
 return true;
 else if (kadi.StartsWith('5'))
 return true;
 else if (kadi.StartsWith('6'))
 return true;
 else if (kadi.StartsWith('7'))
 return true;
 else if (kadi.StartsWith('8'))
 return true;
 else if (kadi.StartsWith('9'))
 return true;
 else if (kadi.StartsWith('0'))
 return true;
 else.
 return false;
 }

Birlikte çağrıldığı metinsel ifade parametre olarak verilen string türündeki ifade ile başlayıp başlamadığını kontrol eden metottur. Geriye bool türünde bir değer döndürür. Eğer metin parametre olarak verilen ifade ile başlıyorsa geriye true değerini döndürür. Eğer metin parametre olarak verilen ifade ile başlamıyorsa geriye false değerini döndürür.
Eğer metnin başında parametre olarak verilen karakter içeriyorsa true değer dönüyor ama içermiyorsa false sorun da burada başlıyor yukarıdaki gibi bir kod yazıyorum başında 0 ile 9 arasinda bir rakam var ise metnin başında true cevap yazmamızı gerekiyor ama true değer dönerse if bloğu çalışıyor. Sizce neden bu sorun?
Nedenini bilen yok mu returnları false çevirince düzgün çalışıyor.
@Hüseyin Sarıtaç
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…