Bu makalede kullanılan 
veri kaynağını görmek için tıklayın.
Basit Select Kullanımı 1
LINQ sorgularında çoğunlukla bitiş 
olarak görülen SELECT cümleciği ile o anda sayılan eleman bildirilirse 
bu eleman seçilir. Ancak aşağıdaki örnekteki gibi oluşturulacak yeni 
listede kullanılmak üzere elemanın kendisi değil bir özelliği de 
seçilebilir ve yeni liste (örneğimizde OgrenciSoyadlari) bu değerlerden 
oluşur. İleride göreceğimiz gibi SELECT bazen çok farklı bir isimsiz 
sınıf oluşturup onu da seçebilir.
Bu örnek öğrenci bilgilerini içeren bir veri kaynağından öğrencilerin soyadlarını seçer.
var Ogrenciler = OgrencileriGetir();
var OgrenciSoyadlari =
    from Ogrenci in Ogrenciler
    select Ogrenci.Soyadi;
Console.WriteLine("Öğrencilerin soyadları :");
foreach (var Soyad in OgrenciSoyadlari)
{
    Console.WriteLine(Soyad);
}
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
1. Sınıftaki Başarılı öğrenciler...
Oran, Kenan
Erkanlı, Erhan
Aynı örnek, 
LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:
var Ogrenciler = OgrencileriGetir();
var OgrenciSoyadlari = Ogrenciler.Select(Ogrenci => Ogrenci.Soyadi);
Console.WriteLine("Öğrencilerin soyadları :");
foreach (var Soyad in OgrenciSoyadlari)
{
    Console.WriteLine(Soyad);
}
Console.ReadLine();
Basit Select Kullanımı 2
Bu örnek, bir tamsayılar dizisindeki elemanların 1 fazlalarını seçer.
int[] Sayilar = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
var SayilarArtiBir = from Sayi in Sayilar
                     select Sayi + 1;
Console.WriteLine("Sayılar + 1:");
foreach (var i in SayilarArtiBir)
{
    Console.WriteLine(i);
}
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
Sayılar + 1:
6
5
2
4
10
9
7
8
3
1
Aynı örnek, 
LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:
int[] Sayilar = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
var SayilarArtiBir = Sayilar.Select(Sayi => Sayi + 1);
Console.WriteLine("Sayılar + 1:");
foreach (var i in SayilarArtiBir)
{
    Console.WriteLine(i);
}
Console.ReadLine();
Select Dönüştürme (Transformation)
Bu örnek öğrenci bilgilerini içeren bir veri kaynağından ve öğrenci kuluplerinin bilgilerini içeren ikinci bir veri kaynağından öğrencilerin adlarını ve kulüplerin adlarını seçerek öğrencilerin adları ve üye oldukları kulüplerin adlarından yeni bir liste oluşturur. Öğrenciler veri kaynağındaki kayıtlarda öğrenci kulüpleri, kulüp veri kaynağındaki kulübün sıra numarası ve aynı zamanda kayıt numarası olan bir numara ile belirlenmiştir.
var Ogrenciler = OgrencileriGetir();
List Kulupler = KulupleriGetir();
var OgrencilerVeKulupleri = from Ogrenci in Ogrenciler
                            select Ogrenci.Adi + ": " + Kulupler[Ogrenci.Kulup].Adi;
Console.WriteLine("Öğrencilerin üye olduğu kulüpler :");
foreach (var Satir in OgrencilerVeKulupleri)
{
    Console.WriteLine(Satir);
}
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
Öğrencilerin üye olduğu kulüpler :
Tuncay: Gezi
Jale: Tiyatro
Tekin: Tiyatro
Mesut: Tiyatro
Veli: Müzik
Ahmet: Müzik
Fatma: Tiyatro
Mehmet: Gezi
Hale: Tiyatro
Ayşe: Tiyatro
Cevdet: Müzik
Nuri: Müzik
Kenan: Gezi
Lale: Gezi
Erhan: Tiyatro
Erhan: Tiyatro
Erhan: Tiyatro
Aynı örnek, 
LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:
var Ogrenciler = OgrencileriGetir();
List Kulupler = KulupleriGetir();
var OgrencilerVeKulupleri = Ogrenciler.Select(Ogrenci => Ogrenci.Adi + ": " + Kulupler[Ogrenci.Kulup].Adi);
Console.WriteLine("Öğrencilerin üye olduğu kulüpler :");
foreach (var Satir in OgrencilerVeKulupleri)
{
    Console.WriteLine(Satir);
}
Console.ReadLine();
Select ve isimsiz Tip (Anonymous Types) Kullanımı 1
Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki öğrenci ad ve soyadlarından yeni bir isimsiz tip oluşturarak seçer.
var Ogrenciler = OgrencileriGetir();
var BuyukHarfIsimler = from Ogrenci in Ogrenciler
                       select new { Ad = Ogrenci.Adi.ToUpper(),
                                    Soyad = Ogrenci.Soyadi.ToUpper() };
Console.WriteLine("Büyük harflerle öğrenci isimleri :");
foreach (var BuyukHarfIsim in BuyukHarfIsimler)
{
    Console.WriteLine("{0} {1}", BuyukHarfIsim.Ad, BuyukHarfIsim.Soyad);
}
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır:
Büyük harflerle öğrenci isimleri :
TUNCAY ÇAĞRI
JALE İKİNCİ
TEKİN UĞURLU
MESUT BAHTİYAR
VELİ CANLI
AHMET GEÇE
FATMA TEYZE
MEHMET EMRE
HALE BİRİNCİ
AYŞE HANIM
CEVDET DÖĞER
NURİ BABAYİĞİT
KENAN ORAN
LALE ÜÇÜNCÜ
ERHAN ERKANLI
ERHAN FİDAN
ERHAN ÇELİK
Daha önceki örneklerimizde görüldüğü gibi, foreach döngüsü içinde döngü sırasında seçilecek elemanın tipini bildirmek için var kulandık. Var ifadesi kolaylık olsun diye, elemanın tipi ile uğraşmamak için kullanıldı. Var ile tanımlamak yerine elemanın tipi de verilebilirdi. Örneğin 
Basit Where Örneği 1'de kullandığımız örneği (özellikle 
foreach bölümününe dikkat edin) var ifadelerini çıkarıp aşağıdaki gibi de yazabilirdik.
int[] Rakamlar = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
IEnumerable<int> KucukRakamlar = from Rakam in Rakamlar
                                 where Rakam < 5
                                 select Rakam;
Console.WriteLine("5'den küçük rakamlar...");
foreach (int Rakam in KucukRakamlar)
{
    Console.WriteLine(Rakam);
}
Console.ReadLine();
Anonim tiplerde ise tipin bir adı olmadığından mecburen var kullanırız. Anonim tiplerin isimleri derleme zamanında derleyici tarafından belirlenir.
Aynı örnek, 
LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:
var Ogrenciler = OgrencileriGetir();
var BuyukHarfIsimler =
    Ogrenciler.Select(Ogrenci => new { Ad = Ogrenci.Adi.ToUpper(),
                                       Soyad = Ogrenci.Soyadi.ToUpper() });
Console.WriteLine("Büyük harflerle öğrenci isimleri :");
foreach (var BuyukHarfIsim in BuyukHarfIsimler)
{
    Console.WriteLine("{0} {1}", BuyukHarfIsim.Ad, BuyukHarfIsim.Soyad);
}
Console.ReadLine();
Select ve isimsiz Tip (Anonymous Types) Kullanımı 2
Bu örnek öğrenci bilgilerini içeren bir veri kaynağı ve öğrenci kulüpleri bilgilerini içeren ikinci bir veri kaynağından öğrenci adları ve üye oldukları kulüplerin adlarını kullanarak daha önceki örnekten bir parça daha karmaşık bir isimsiz tip oluşturarak seçer.
var Ogrenciler = OgrencileriGetir();
List<KulupKaydi> Kulupler = KulupleriGetir();
var OgrencilerVeKulupleri =
    Ogrenciler.Select(Ogrenci =>
                                 new
                                 {
                                     Adi = Ogrenci.Adi,
                                     Kulubu = Kulupler[Ogrenci.Kulup].Adi,
                                     TiyatroMu = Ogrenci.Kulup == 1 ? "Evet" : "Hayır"
                                 });
Console.WriteLine("Öğrenciler ve kulüpleri:");
foreach (var Satir in OgrencilerVeKulupleri)
{
    Console.WriteLine("Adı : {0}, Kulübü : {1}, Tiyatro Kulübünde : {2}",
                      Satir.Adi,
                      Satir.Kulubu,
                      Satir.TiyatroMu);
}
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
Öğrenciler ve kulüpleri:
Adı : Tuncay, Kulübü : Gezi, Tiyatro Kulübünde : Hayır
Adı : Jale, Kulübü : Tiyatro, Tiyatro Kulübünde : Evet
Adı : Tekin, Kulübü : Tiyatro, Tiyatro Kulübünde : Evet
Adı : Mesut, Kulübü : Tiyatro, Tiyatro Kulübünde : Evet
Adı : Veli, Kulübü : Müzik, Tiyatro Kulübünde : Hayır
Adı : Ahmet, Kulübü : Müzik, Tiyatro Kulübünde : Hayır
Adı : Fatma, Kulübü : Tiyatro, Tiyatro Kulübünde : Evet
Adı : Mehmet, Kulübü : Gezi, Tiyatro Kulübünde : Hayır
Adı : Hale, Kulübü : Tiyatro, Tiyatro Kulübünde : Evet
Adı : Ayşe, Kulübü : Tiyatro, Tiyatro Kulübünde : Evet
Adı : Cevdet, Kulübü : Müzik, Tiyatro Kulübünde : Hayır
Adı : Nuri, Kulübü : Müzik, Tiyatro Kulübünde : Hayır
Adı : Kenan, Kulübü : Gezi, Tiyatro Kulübünde : Hayır
Adı : Lale, Kulübü : Gezi, Tiyatro Kulübünde : Hayır
Adı : Erhan, Kulübü : Tiyatro, Tiyatro Kulübünde : Evet
Adı : Erhan, Kulübü : Tiyatro, Tiyatro Kulübünde : Evet
Adı : Erhan, Kulübü : Tiyatro, Tiyatro Kulübünde : Evet
Aynı örnek, 
LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:
var Ogrenciler = OgrencileriGetir();
List Kulupler = KulupleriGetir();
var OgrencilerVeKulupleri =
    Ogrenciler.Select(Ogrenci =>
                                 new
                                 {
                                     Adi = Ogrenci.Adi,
                                     Kulubu = Kulupler[Ogrenci.Kulup].Adi,
                                     TiyatroMu = Ogrenci.Kulup == 1 ? "Evet" : "Hayır"
                                 });
Console.WriteLine("Öğrenciler ve kulüpleri:");
foreach (var Satir in OgrencilerVeKulupleri)
{
    Console.WriteLine("Adı : {0}, Kulübü : {1}, Tiyatro Kulübünde : {2}",
                      Satir.Adi,
                      Satir.Kulubu,
                      Satir.TiyatroMu);
}
Console.ReadLine();
Select ve İsimsiz Tip (Anonymous Types) Kullanımı 3
Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki öğrenci kayıtlarından öğrenci adı, sınıfı ve başarı durumunu özelliklerinden yeni bir isimsiz tip oluşturur ve seçer. Daha sonra bir foreach döngüsü ile çıktıya yazar.
var Ogrenciler = OgrencileriGetir();
var OgrenciOzetBilgileri = from Ogrenci in Ogrenciler
                           select new
                           {
                               Ogrenci.Adi,
                               Ogrenci.Sinif,
                               BasariliMi = Ogrenci.Basarili
                           };
Console.WriteLine("Öğrenci başarı durumları :");
foreach (var OzetBilgi in OgrenciOzetBilgileri)
{
    Console.WriteLine("{0}, {1}. sınıfta ve {2}.",
                      OzetBilgi.Adi,
                      OzetBilgi.Sinif,
                      OzetBilgi.BasariliMi ? "başarılı" : "başarısız");
}
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
Öğrenci başarı durumları :
Tuncay, 4. sınıfta ve başarılı.
Jale, 3. sınıfta ve başarılı.
Tekin, 1. sınıfta ve başarısız.
Mesut, 4. sınıfta ve başarısız.
Veli, 4. sınıfta ve başarısız.
Ahmet, 2. sınıfta ve başarılı.
Fatma, 3. sınıfta ve başarılı.
Mehmet, 4. sınıfta ve başarılı.
Hale, 2. sınıfta ve başarısız.
Ayşe, 2. sınıfta ve başarılı.
Cevdet, 3. sınıfta ve başarısız.
Nuri, 2. sınıfta ve başarılı.
Kenan, 1. sınıfta ve başarılı.
Lale, 3. sınıfta ve başarısız.
Erhan, 1. sınıfta ve başarılı.
Erhan, 2. sınıfta ve başarılı.
Erhan, 3. sınıfta ve başarılı.
Aynı örnek, 
LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:
var Ogrenciler = OgrencileriGetir();
var OgrenciOzetBilgileri =
    Ogrenciler.Select(Ogrenci =>
                                 new
                                {
                                    Ogrenci.Adi,
                                    Ogrenci.Sinif,
                                    BasariliMi = Ogrenci.Basarili
                                });
Console.WriteLine("Öğrenci başarı durumları :");
foreach (var OzetBilgi in OgrenciOzetBilgileri)
{
    Console.WriteLine("{0}, {1}. sınıfta ve {2}.",
                      OzetBilgi.Adi,
                      OzetBilgi.Sinif,
                      OzetBilgi.BasariliMi ? "başarılı" : "başarısız");
}
Console.ReadLine();
Dizinli / indeksli (Indexed) Select Kullanımı
Select yönteminin 2. kullanım şeklinde, yöntem o anda bulunduğu eleman ile elemanın 0 tabanlı sıra numarasını (index) Lambda İfadesi olarak yazılabilecek bir isimsiz fonksiyona gönderir. Bu isimsiz fonksiyonda elemanın kensini ve sıra numarası ile ilgili işlemleri yaparız.
Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki öğrenci kayıtlarından öğrencinin listedeki sırası, numarası, adı ve soyadı verilerinden yeni bir isimsiz tip oluşturur ve seçer. Daha sonra bir foreach döngüsü ile çıktıya yazar.
var Ogrenciler = OgrencileriGetir();
var OgrenciListesi = Ogrenciler.Select((Ogrenci, Index) => new { Sirasi = Index + 1,
                                                                 Ogrenci.No,
                                                                 Ogrenci.Adi,
                                                                 Ogrenci.Soyadi });
Console.WriteLine("Öğrenci listesi :");
foreach (var ListeSatiri in OgrenciListesi)
{
    Console.WriteLine("{0}- {1} {2}  {3}",
                      ListeSatiri.Sirasi,
                      ListeSatiri.No,
                      ListeSatiri.Adi,
                      ListeSatiri.Soyadi);
}
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
Öğrenci listesi :
1- 2 Tuncay  Çağrı
2- 4 Jale  İkinci
3- 7 Tekin  Uğurlu
4- 8 Mesut  Bahtiyar
5- 12 Veli  Canlı
6- 6 Ahmet  Geçe
7- 15 Fatma  Teyze
8- 14 Mehmet  Emre
9- 3 Hale  Birinci
10- 13 Ayşe  Hanım
11- 11 Cevdet  Döğer
12- 1 Nuri  Babayiğit
13- 5 Kenan  Oran
14- 9 Lale  Üçüncü
15- 10 Erhan  Erkanlı
16- 16 Erhan  Fidan
17- 17 Erhan  Çelik
Dizinli SELECT yöntemi 
Func<T1, T2, TResult>(T1 arg1, T2 arg2)  delegesi ile temsil edilen ve Lambda İfadesi şeklinde yazdığımız bir isimsiz fonksiyon kullanır. Bu isimsiz fonksiyona 2 parametre geçer. 1. parametre o anda sayılan elemanın kendisi, 2. parametre olarak da elemanın sırası 0 tabanlı olarak (ilk elemanın numarası 0) döndürülür. Biz de elemanın kendisini ve sırasını kullanarak isimsiz fonksiyon içinde işlemler gerçekleştirebiliriz.
Şimdiye kadarki örneklerimizde SELECT yöntemine 
Func<T1, TResult>(T1 arg1) ile temsil edilen, tek parametreli bir lambda ifadesi, örneğin 
Ogrenci => Ogrenci.Basarili kullanmıştık.
Select Filtre Kullanımı (Select Filtered)
Bu örnek öğrenci bilgilerini içeren bir veri kaynağı ve öğrenci kulüpleri bilgilerini içeren ikinci bir veri kaynağından WHERE cümleciği ile filtre uygulayarak 3. sınıf öğrencilerinin adları ve bu öğrencilerin çalıştıkları kulüp bilgisinden bir isimsiz tip oluşturarak seçer ve bir foreach döngüsü ile çıktıya yazar.
var Ogrenciler = OgrencileriGetir();
List Kulupler = KulupleriGetir();
var Sinif3Kulupleri = from Ogrenci in Ogrenciler
                      where Ogrenci.Sinif == 3
                      select new { Ogrenci.Adi, Kulup = Kulupler[Ogrenci.Kulup].Adi };
Console.WriteLine("3. sınıf öğrencilerinin üye olduğu kulüpler :");
foreach (var Satir in Sinif3Kulupleri)
{
    Console.WriteLine("{0}, {1} kulübüne üye.", Satir.Adi, Satir.Kulup);
}
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
3. sınıf öğrencilerinin üye olduğu kulüpler :
Jale, Tiyatro kulübüne üye.
Fatma, Tiyatro kulübüne üye.
Cevdet, Müzik kulübüne üye.
Lale, Gezi kulübüne üye.
Erhan, Tiyatro kulübüne üye.
Aynı örnek, 
LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:
var Ogrenciler = OgrencileriGetir();
List Kulupler = KulupleriGetir();
var Sinif3Kulupleri = Ogrenciler.Where(Ogrenci => Ogrenci.Sinif == 3)
                                .Select(Ogrenci =>
                                                   new {
                                                         Ogrenci.Adi,
                                                         Kulup = Kulupler[Ogrenci.Kulup].Adi
                                                   }
                                       );
Console.WriteLine("3. sınıf öğrencilerinin üye olduğu kulüpler :");
foreach (var Satir in Sinif3Kulupleri)
{
    Console.WriteLine("{0}, {1} kulübüne üye.", Satir.Adi, Satir.Kulup);
}
Console.ReadLine();
Kaynak:
https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b