June 10, 2008
@ 03:14 PM

Select metodu bir koleksiyondan veya diziden verileri listelemeyi, seçmeyi sağlar. SelectMany metodu ile arasında fark select keyword'u sadece tek boyutlu kaynak üzerinden çalışır.

static string[] isimler = new string[] {"Okan","Yalçın", "Bora","Güneş","Boran","Ekin","Hızır" };

IEnumerable<string> sonuc = from a in isimler where (a.StartsWith("B")) select a;

foreach (string s in sonuc)

{

Console.WriteLine(s);

}

SelectMany ise birden fazla boyutu olan kompleks olan koleksiyonlar için kullanılır. Örneğin :

public class Musteri

{

public string Ad { get; set; }

public List<string> Kitaplar {get;set;}

}

Sorgulama yapmak için :  

Musteri[] bilgiler ={new Musteri { Ad = "Okan ",Kitaplar = new List<string>{"Sql Server", @"C#"}},

new Musteri { Ad = "Ekin ",Kitaplar = new List<string>{"Mobile Applications", "Linq"}},

new Musteri { Ad = "Yalçın, Kitaplar = new List<string>{"Sigara Bırakma Yöntemleri", "Rakı içme Teknikleri"}}};

IEnumerable<string> sonuc = bilgiler.SelectMany(a=> a.Kitaplar);

foreach (string s in sonuc)

{

Console.WriteLine(s);

}