Visual Studio C# değişken sorunu

ListBox'ın içerisine Item eklemeyi butona her basıldığında değil, FormLoad tarzı bir kez çalışan bir Event içerisinde yapmanız gerek. Yoksa Duplicate Items sorunu oluşur.

For için Semicolon yerine Curly bracket kullanılır.
Kodunun çalışmamasının en büyük nedeni algoritmik olarak yanlış tasarlanmış olması.
 
ListBox'ın içerisine Item eklemeyi butona her basıldığında değil, FormLoad tarzı bir kez çalışan bir Event içerisinde yapmanız gerek. Yoksa Duplicate Items sorunu oluşur.

For için Semicolon yerine Curly bracket kullanılır.
Kodunun çalışmamasının en büyük nedeni algoritmik olarak yanlış tasarlanmış olması.
Hocam biraz daha açıklayıcı olabilir mi? Kusura bakmayın biraz acemi sayılırım.
 
1579869440434.png

Diğer değişkenlerde de aynı şeyi yaptım ama onlarda hata vermedi.
Diğerlerinde aynı şeyi yapmamışsın. For döngüsünün içinde değer vermişsin zaten onlara. Değer vermeden önce kullanmamışsın. Ne olduğu belli olmayan "h" değerini eklemeye çalışıyorsun burada.

Arkadaşın dediği gibi noktalı virgüller de gereksiz.
 
Hocam biraz daha açıklayıcı olabilir mi? Kusura bakmayın biraz acemi sayılırım.
Örnek kod atmak istiyorum ancak şu an Windows PC'im yanımda yok.

Daha açıklayıcı olmam gerekirse;
For döngüsü içerisinde çalışacak kodların bir block içerisine yazılması gerekir.
C#:
for (int i = 0; i < limit; i++)
{
    // limit kadar çalışacak kod
}

Bu durumun tek bir istisnası var;
Eğer For içerisinde sadece 1 satırlık kod varsa block açılmadan kullanılabilir.
Kod:
for (i = 0; i < n; i++)
{
    Console.WriteLine("Hello");
}

// Yerine

for (i = 0; i < n; i++)
    Console.WriteLine("Hello");

// Şekline kısaltılabilir ancak for'un bitimine ';' konulmaz.
 
Eki Görüntüle 491257

Diğerlerinde aynı şeyi yapmamışsın. For döngüsünün içinde değer vermişsin zaten onlara. Değer vermeden önce kullanmamışsın. Ne olduğu belli olmayan "h" değerini eklemeye çalışıyorsun burada.

Arkadaşın dediği gibi noktalı virgüller de gereksiz.
Örnek kod atmak istiyorum ancak şu an Windows PC'im yanımda yok.

Daha açıklayıcı olmam gerekirse;
For döngüsü içerisinde çalışacak kodların bir block içerisine yazılması gerekir.
C#:
for (int i = 0; i < limit; i++)
{
    // limit kadar çalışacak kod
}

Bu durumun tek bir istisnası var;
Eğer For içerisinde sadece 1 satırlık kod varsa block açılmadan kullanılabilir.
Kod:
for (i = 0; i < n; i++)
{
    Console.WriteLine("Hello");
}

// Yerine

for (i = 0; i < n; i++)
    Console.WriteLine("Hello");

// Şekline kısaltılabilir ancak for'un bitimine ';' konulmaz.
Çok teşekkür ederim. Biraz acemilik olunca eksiklerim var. Dediklerinizi deneyeceğim.
 
Herkese teşekkür ederim ama olmuyor. Kodları size gönderiyorum.

C#:
 private void button1_Click(object sender, EventArgs e)
        {
            string ilk2 = "05";
            string sabit = " 563 83";
            int h;

            int i;
            for (i = 3; i <=2 ; i++) ;
          
            int k;
        

            for (k = 0; k < 1; k++) ;

            listBox1.Items.Add(ilk2 + i + k +sabit+h) ;

            for (k = 0; k < 2; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

            for (k = 0; k < 3; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

            for (k = 0; k < 4; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

            for (k = 0; k < 5; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

        
          
            for (i = 3; i <= 3; i++) ;

          

            for (k = 0; k < 1; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

            for (k = 0; k < 2; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

            for (k = 0; k < 3; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

            for (k = 0; k < 4; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

            for (k = 0; k < 5; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

        
        
            for (i = 3; i <= 4; i++) ;

          

            for (k = 0; k < 1; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

            for (k = 0; k < 2; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

            for (k = 0; k < 3; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

            for (k = 0; k < 4; k++) ;

            listBox1.Items.Add(ilk2 + i + k + sabit);

            for (k = 0; k < 5; k++) ;

            listBox1.Items.Add(ilk2 + i + k+ sabit);

          

            for (h = 0; h < 1; h++) ;
            listBox1.Items.Add(ilk2 + i + k + sabit);
            for (h=0; h<2; h++);
            listBox1.Items.Add(ilk2 + i + k + sabit);

listbox'a yaptığım ilk eklemede hata veriyor h değişkeninin eklerken hata veriyor.
Eki Görüntüle 491248
Derlerken h değişkeninde hata vermesinin nedeni : h değişkenine her hangi bir değer atamadan işleme sokmuşsun. "listBox1.Items.Add(ilk2 + i + k + sabit + h);".
Fakat diğer değişkenlerini döngülerde falan değer atama var, problem olmamış. Çözümü = int h=0; bu şekilde tanımla derleme problemini aşarsın.
ListBox'ın içerisine Item eklemeyi butona her basıldığında değil, FormLoad tarzı bir kez çalışan bir Event içerisinde yapmanız gerek. Yoksa Duplicate Items sorunu oluşur.

For için Semicolon yerine Curly bracket kullanılır.
Kodunun çalışmamasının en büyük nedeni algoritmik olarak yanlış tasarlanmış olması.
"10 tip insan vardır: İkilik sistemi bilenler ve bilmeyenler."

kraal 1 0 = 2 yapar güzel imza 2 tip sinsan
 
Herhangi bir değer ataması yapmadığınızda bu hatayı alırsınız. Diğer değişkenlerde oluyor demişsiniz, bir göz atarsanız herhangi bir yerde onlara atama yaptığınızı görürsünüz. Atanmayan değişkenleri kıyaslayamaz ve bu tür işlemlerde kullanamazsınız.
 
Arkadaşlar hepinize çok teşekkür ederim. Yardımlarınız sayesinde ödevimi bitirdim hocama gönderdim. Programın exe halini sizlerle paylaşmak isterim. Ama nasıl yükleyeceğimi bilemedim. Yardım eder misiniz? 😀
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı