Bu yazımızda foreach döngüsü anlatılmaktadır.
Döngüler, program içerisinde tekrarlanması gereken ifadeleri veya kod bloklarını tekrar tekrar yazmak yerine tek bir yapıda yazarak ifadelerin veya kod bloklarının tekrarlanmasını sağlar.
C#’ta foreach döngüsü bir dizi belirten ifadenin veya bir koleksiyonun her elemanı için yapısındaki kodları çalıştıran döngüdür.
foreach (degisken_tipi degisken in dizi)
{
//kodlar;
}
Tanımlanan değişken, sırasıyla belirtilen dizi içerisindeki elemanları tutar.
Foreach döngüsü döngüye ait değişkeni kullanmamıza imkan sağlar. Değişkeni istediğimiz şekilde istediğimiz işleme sokabiliriz. Ancak döngüye müdahale edemeyiz.
Örnek olarak bir integer tipli değişkene ait elemanları listbox’a ekleyip toplamını yazan programın uygulamasını yapalım.
[Kod Kısmı]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int[] dizi = { 5, 10, 15, 20, 25, 30 }; //dizi tanımlanıyor..
int toplam=0; //dizi elemanlarının toplamını tutacak değişken tanımlanıp; değişkene hata vermemesi için başlangıç değeri olarak 0 değeri atanıyor..
foreach (int x in dizi) //dizi’ye ait her int tipli x için..
{
listBox1.Items.Add(x); //listbox’a ekle..
toplam += x; //toplam değişkenine ekle..
}
label1.Text = “Toplamları: ” + toplam;
}
}
}
[Ekran Çıktısı]

Diziler ve koleksiyonların elemanlarını listelemek için basit ve kullanışlı bir döngüdür Foreach. Foreachdöngüsü kullanırken ulaştığımız dizi elemanları readonly yani sadece okunabilirdir.
Örnek verecek olursak elimizde string tanımlı değişken olsun(aşağıdaki örnekte textBox1.Text) bu dizinin harflerine erişmek isteyelim.
1
2
3
4
|
foreach (char harf in textBox1.Text)
{
listBox1.Items.Add(harf);
}
|
String tipindeki bir değişken char tipindeki verilerin birleşmesinden oluşmuştur bundan dolayı harf değişkeninin tipini yukarıda char belirledik.Yukarıda textBox1.Text içindeki string katarını harf harf alarak listbox1′e eklemeyi foreach döngüsüyle gördük.Kullanımı son deerece basit 1döngüdür.