C# StartsWith metodu yardım

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Öğreniyor Hayatı
Süper Üye
Katılım
26 Mar 2019
Mesajlar
777
Çözümler
3
Tepki puanı
133
Ödüller
8
7 HİZMET YILI
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;
 }


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?




Kod:
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.
 
Uzman Üye
Katılım
16 May 2018
Mesajlar
210
Çözümler
1
Tepki puanı
32
Ödüller
10
Yaş
30
8 HİZMET YILI
if(!KullaniciadiKontrol(kadi)) yap false değeri dönüyo sonda sen true şartını koyuyon
 
Süper Üye
Katılım
28 Ocak 2018
Mesajlar
1,208
Çözümler
28
Tepki puanı
142
Ödüller
10
Sosyal
8 HİZMET YILI
İf bloğunun dönüşü yanlış dostum if(!KullaniciadiKontrol(kadi)) dersen istediğin şekilde çalışacaktır.
Ve kodu basitleştirmek amacı ile şöyle kontrol edebilirsin direkt ilk karakterin numeric olup olmadığını kontrol eder;

if(Char.IsDigit(kadi[0]))
{
Console.Write("Kullanıcı Adı Tanımlarken Başına Sayı Eklenemez");
}
Else
{
Console.Write("Kullanıcı Adı Tanımlama Başarılı");
}
 
1881 ⁓ 193∞
Seçkin Üye
Katılım
21 Eki 2018
Mesajlar
565
Çözümler
3
Tepki puanı
181
Ödüller
8
7 HİZMET YILI
Merhaba şu sitedeki örneği incelerseniz rahatça anlayabilirsiniz hatanızı
Bağlantıları görmek için lütfen Giriş Yap
 
Öğreniyor Hayatı
Süper Üye
Katılım
26 Mar 2019
Mesajlar
777
Çözümler
3
Tepki puanı
133
Ödüller
8
7 HİZMET YILI
if(!KullaniciadiKontrol(kadi)) yap false değeri dönüyo sonda sen true şartını koyuyon
teşekkür ederim
İf bloğunun dönüşü yanlış dostum if(!KullaniciadiKontrol(kadi)) dersen istediğin şekilde çalışacaktır.
Ve kodu basitleştirmek amacı ile şöyle kontrol edebilirsin direkt ilk karakterin numeric olup olmadığını kontrol eder;

if(Char.IsDigit(kadi[0]))
{
Console.Write("Kullanıcı Adı Tanımlarken Başına Sayı Eklenemez");
}
Else
{
Console.Write("Kullanıcı Adı Tanımlama Başarılı");
}
aslında bu soru çok basit bir şekilde yapılabilir haklısın fakat ben metotlara çalışıyorum ve bu StartsWith metodunu o yüzden kullandım
başına ! koymama nedenim çalıştığım kaynakta da olmamasıydı
 
Uzman Üye
Katılım
16 May 2018
Mesajlar
210
Çözümler
1
Tepki puanı
32
Ödüller
10
Yaş
30
8 HİZMET YILI
teşekkür ederim

aslında bu soru çok basit bir şekilde yapılabilir haklısın fakat ben metotlara çalışıyorum ve bu StartsWith metodunu o yüzden kullandım
başına ! koymama nedenim çalıştığım kaynakta da olmamasıydı
gözden kaçıyo bazen kodlarken şüphelendiğin yeri breakpoint koyarak ilerle nerde hata yaptığını kolaylıkla görebilirsin
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst