Çö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
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.");
string yas = Convert.ToInt32(Console.ReadLine());

    if (yas == 40)
    {
         Console.WriteLine("yaşın 40");
         Console.ReadLine();
    }
     else
    {
         Console.WriteLine("abc");
         Console.ReadLine();
    }
Hocam oldu ama ToInt denediğimde hata vermişti ilk ama şimdi oldu nedense
 
Convert sınıfında ToInt diye bir metot yok çünkü, ToInt16(), ToInt32() ve ToInt64() metotları var. Detayları buradan okuyabilirsiniz.

Sağolun hocam ben tam hatırlamıyorum tür donüşümlerini şimdi tekrardan bakıcağım.

Convert sınıfında ToInt diye bir metot yok çünkü, ToInt16(), ToInt32() ve ToInt64() metotları var. Detayları buradan okuyabilirsiniz.

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

Dosya Ekleri

  • Ekran görüntüsü 2025-05-15 195319.png
    Ekran görüntüsü 2025-05-15 195319.png
    7,9 KB · Görüntüleme: 15
Son düzenleme:

Technopat Haberler

Geri
Yukarı