Çözüldü C# ''Int türü örtülü olarak string türüne dönüştürülemez'' hatası veriyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

eymen.dll

Centipat
Katılım
11 Temmuz 2024
Mesajlar
922
Çözümler
8
Daha fazla  
Cinsiyet
Erkek
C#'ta yeniyim böyle bir hata aldım sebebi nedir?

Kod:
{
 Console.WriteLine("Yaş giriniz.");
 string yas = Console.ReadLine();

 if (yas=40)
 {
 Console.WriteLine("yaşın 40");
 Console.ReadLine();
 }
 else.
 {
 Console.WriteLine("abc");
 Console.ReadLine();
 }
 
Çözüm
Kod:
string yas = Console.ReadLine();

Bu kısımda yaş değerini string olarak almışsınız.

Kod:
if (yas=40)
{
 Console.WriteLine("yaşın 40");
 Console.ReadLine();
}

Koşulun içinde de kıyaslama yapmak için integer ifade (40) kullanmışsınız, yani string ile integer'ı kıyaslamışsınız. Ama burada bir hata daha var.

If koşulunun içinde kıyaslama yapmak için sayısal değerin eşitlik kontrolü == operatörü ile yapılır. = operatörü değişkene atama yapar.

Kodu şu şekilde düzenleyip kullanıcıdan alınan sayıyı integer'a dönüştürüp ondan sonra If bloğuna girmelisiniz.

Kod:
Console.WriteLine("Yaş giriniz.");
int yas = Convert.ToInt32(Console.ReadLine());

    if (yas == 40)
    {
         Console.WriteLine("yaşın 40");
         Console.ReadLine();
    }
     else
    {
         Console.WriteLine("abc");
         Console.ReadLine();
    }
Kod:
string yas = Console.ReadLine();

Bu kısımda yaş değerini string olarak almışsınız.

Kod:
if (yas=40)
{
 Console.WriteLine("yaşın 40");
 Console.ReadLine();
}

Koşulun içinde de kıyaslama yapmak için integer ifade (40) kullanmışsınız, yani string ile integer'ı kıyaslamışsınız. Ama burada bir hata daha var.

If koşulunun içinde kıyaslama yapmak için sayısal değerin eşitlik kontrolü == operatörü ile yapılır. = operatörü değişkene atama yapar.

Kodu şu şekilde düzenleyip kullanıcıdan alınan sayıyı integer'a dönüştürüp ondan sonra If bloğuna girmelisiniz.

Kod:
Console.WriteLine("Yaş giriniz.");
int yas = Convert.ToInt32(Console.ReadLine());

    if (yas == 40)
    {
         Console.WriteLine("yaşın 40");
         Console.ReadLine();
    }
     else
    {
         Console.WriteLine("abc");
         Console.ReadLine();
    }
 
Son düzenleme:
Çözüm
Hocam oldu ama ToInt denediğimde hata vermişti ilk ama şimdi oldu nedense
 
Sağolun hocam ben tam hatırlamıyorum tür donüşümlerini şimdi tekrardan bakıcağım.

Hocam böyle bir hata almaya başladım.
 

Dosya Ekleri

  • Ekran görüntüsü 2025-05-15 195319.png
    7,9 KB · Görüntüleme: 15
Son düzenleme:
Sayı almaya çalışırken Convert etmeden Console.ReadLine() metodu ile almaya çalışıyorsan o çıktı string olur.
Hocam kopyala yapıştır yaptım ama başka bir şey yapmam gerekiyorsa söyleyebilirmisiniz?
 
attım.
 

Dosya Ekleri

  • Ekran görüntüsü 2025-05-15 200045.png
    102,3 KB · Görüntüleme: 17
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…