[]
c# for döngüsü hakkında bir soru
merhaba john sharp'lar!
form'da bir listbox ve bir button ile şöyle bir örnek var, çıktısında butona basınca olan ekteki gibi. butonun kodları da altta. benim anlamadığım iç içe olan 2 for döngüsünde nasıl sadece 6 değeri alt alta yazdırıyor. for döngüsünü açınca şöyle bir şey oluyor i ve j değişkenleri:
i= 1, 1, 1, 2, 2, 2, 3, 3, 3
j= 1, 2, 3, 1, 2, 3, 1, 2, 3
her seferinde dizideger matriks değişkenindeki i ve j'nin değerini yazdırması lazım, o yüzden 18 tane şehir adı olması lazım listboxta diye düşündüm ben, nerede yanlış düşündüm de kodlar ekteki resim gibi çıktı verdi?
mevzubahis kodlar:
private void button1_Click(object sender, EventArgs e)
{
string[,] dizideger ={ { "ANKARA", "İZMİR", "RİZE", }, { "BURSA", "ORDU", "BOLU" } };
int i,j;
for(i=0;i<=dizideger.GetUpperBound(0);i++)
{
for (j=0;j<=dizideger.GetUpperBound(1);j++)
{
listBox1.Items.Add(dizideger[i, j]);
}
}
}
form'da bir listbox ve bir button ile şöyle bir örnek var, çıktısında butona basınca olan ekteki gibi. butonun kodları da altta. benim anlamadığım iç içe olan 2 for döngüsünde nasıl sadece 6 değeri alt alta yazdırıyor. for döngüsünü açınca şöyle bir şey oluyor i ve j değişkenleri:
i= 1, 1, 1, 2, 2, 2, 3, 3, 3
j= 1, 2, 3, 1, 2, 3, 1, 2, 3
her seferinde dizideger matriks değişkenindeki i ve j'nin değerini yazdırması lazım, o yüzden 18 tane şehir adı olması lazım listboxta diye düşündüm ben, nerede yanlış düşündüm de kodlar ekteki resim gibi çıktı verdi?
mevzubahis kodlar:
private void button1_Click(object sender, EventArgs e)
{
string[,] dizideger ={ { "ANKARA", "İZMİR", "RİZE", }, { "BURSA", "ORDU", "BOLU" } };
int i,j;
for(i=0;i<=dizideger.GetUpperBound(0);i++)
{
for (j=0;j<=dizideger.GetUpperBound(1);j++)
{
listBox1.Items.Add(dizideger[i, j]);
}
}
}
i 3 defa dönmüyor 2 defa dönüyor. şöyle düşünmen lazım yani aslında.
i = 1,1,1,2,2,2
j = 1,2,3,1,2,3
ama döngüleri daha basit bi şekilde, kendin denemeler yaparak da öğrenebilirsin. metodları zaten gerektikçe öğrenirsin. böyle olunca benim de kafam karıştı mesela.
aslında bunu şöyle yazmak da daha doğru:
i = 0,0,0,1,1,1
j = 0,1,2,0,1,2
i = 1,1,1,2,2,2
j = 1,2,3,1,2,3
ama döngüleri daha basit bi şekilde, kendin denemeler yaparak da öğrenebilirsin. metodları zaten gerektikçe öğrenirsin. böyle olunca benim de kafam karıştı mesela.
aslında bunu şöyle yazmak da daha doğru:
i = 0,0,0,1,1,1
j = 0,1,2,0,1,2
- tepedeki psychedelic adam (07.09.11 00:48:16 ~ 00:48:58)
diziyi tam olarak istediğin gibi tanımlamışsın sanırım, diziyi o şekilde tanımlarsan upperbound'ları sırayla (1,2) şeklinde oluyor.
bir de kodu debug ederek breakpoint ile çok daha rahat anlarsın nerede ne olduğunu.
bir de kodu debug ederek breakpoint ile çok daha rahat anlarsın nerede ne olduğunu.
- ocanal (07.09.11 00:53:50)
1