C# "System. Formatexception: 'dize tam olarak bir karakter uzunluğunda olmalıdır" hatası

gud

Hectopat
Katılım
5 Mart 2021
Mesajlar
826
Makaleler
1
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Birinci fotoğraftaki kodu yazıp uygulamayı başlattığımda buttona bastığım zaman 2. fotoğraftaki hatayı veriyor. Ama 3. fotoğrafta benzer kodu yazıp çalıştırdığım zaman hata almıyorum, bunun sebebi ne anlayamadım. Yardımcı olur musunuz?





 
Son düzenleyen: Moderatör:
Hatayı söylüyor zaten sana,
C#:
char.IsDigit(char.Parse(txtplaka.Text));
satırında 'txtplaka.Text' değişkeni bir karakterden uzunmuş. Char veri tipi tek karakterden oluşur. Doğal olarak "al" gibi bir string tipini parse etmeye çalışırsan sana hata verir. "X" x yerine herhangi bir karakter gelebilir ama daha fazlası olmamalı. Bu şekilde parse etmemelisin. Tüm satırlar için geçerli bu.

try blokları içerisindeki atamalardan birinde exception türüyor, catch bloğunda başka bir exception. Bu şekilde kod sadece senin kafanı karıştırır, kendine faydalı bir şey yapmıyorsun.
Program patlamasın diye try catch kullanıyorsun ama fırlatılan exception'ları yakalamak yerine catch bloğunda if'lerle hata tespiti yapmaya çalışmışsın. Buna gerek yok.
Bir method oluştur, butona tıklandığında o methodu çağır. Yani şu try catch bloklarından önce. O methodun içinde form'da var olan tüm textbox'ların doğru şekilde doldurulduğundan emin ol ondan sonra işlemleri yap.
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…