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);
}