Bu makalede bazı örneklerde kullanılan
veri kaynağını görmek için tıklayın.
ToArray İle Dizi Elde Etme
ToArray yöntemi, veri kümesinden select bölümündeki seçilen elemanlardan
oluşan bir dizi döndürür. Dizinin tipi seçilen elemanların tipinde
olacaktır.
Aşağıdaki örnek, öğrenci bilgilerini içeren bir veri kaynağından seçtiği
öğrenci isimlerinden bir String dizisi oluşturur ve dizinin
elemanlarını çıktıya yazar.
var Ogrenciler = OgrencileriGetir();
var OgrenciIsimleri = from Ogrenci in Ogrenciler
select Ogrenci.Adi;
string[] OgrenciIsimleriDizisi = OgrenciIsimleri.ToArray();
Console.WriteLine("Öğrenci isimleri dizisinin elemanları :");
foreach (string Isim in OgrenciIsimleriDizisi)
{
Console.WriteLine(Isim);
}
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
Öğrenci isimleri dizisinin elemanları :
Tuncay
Jale
Tekin
Mesut
Veli
Ahmet
Fatma
Mehmet
Hale
Ayşe
Cevdet
Nuri
Kenan
Lale
Erhan
Erhan
Erhan
Aynı örnek, LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:
var Ogrenciler = OgrencileriGetir();
var OgrenciIsimleri = Ogrenciler.Select(Ogrenci => Ogrenci.Adi);
string[] OgrenciIsimleriDizisi = OgrenciIsimleri.ToArray();
Console.WriteLine("Öğrenci isimleri dizisinin elemanları :");
foreach (string Isim in OgrenciIsimleriDizisi)
{
Console.WriteLine(Isim);
}
Console.ReadLine();
ToList İle Genelleyici (Generic) Liste Elde Etme
ToList yöntemi, veri kümesinden select bölümündeki seçilen elemanlardan
oluşan bir genelleyici (generic) List sınıfı örneği döndürür. Sınıfın
eleman tipi seçilen elemanların tipinde olacaktır.
Aşağıdaki örnek, öğrenci bilgilerini içeren bir veri kaynağından seçtiği öğrenci notları dizilerinden bir List genelleyici listesi oluşturur ve iç içe foreach döngüleri ile listedeki dizilerin elemanlarını çıktıya yazar.
var Ogrenciler = OgrencileriGetir();
// IEnumerable<int[]> OgrenciNotlari = from Ogrenci in Ogrenciler
// select Ogrenci.Notlar;
// veya
var OgrenciNotlari = from Ogrenci in Ogrenciler
select Ogrenci.Notlar;
// List<int[]> OgrenciNotlariListTListesi = OgrenciNotlari.ToList();
// veya
var OgrenciNotlariListTListesi = OgrenciNotlari.ToList();
Console.WriteLine("List<T> (örnekte List<int[]>) sınıfına kopyalanmış öğrenci notları :");
// foreach (int[] Notlar in OgrenciNotlariListTListesi) ...
// veya
foreach (var Notlar in OgrenciNotlariListTListesi)
{
// foreach (int Notu in Notlar)
// veya
foreach (var Notu in Notlar)
{
Console.Write("{0} ", Notu);
}
Console.WriteLine();
}
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
List (örnekte List) sınıfına kopyalanmış öğrenci notları :
75 70 75
100 95 97 96
30 40 20
70 10 30
80 40 10
70 80 80
70 98 97 92
80 22 97
20 40 10 30
100 40 100
20 0 30 15
55 75 65
50 70 80
20 0 30
90 90 90 90
95 70 100 80
90 55 90
Aynı örnek, LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:
var Ogrenciler = OgrencileriGetir();
var OgrenciNotlari = Ogrenciler.Select(Ogrenci=>Ogrenci.Notlar);
var OgrenciNotlariListTListesi = OgrenciNotlari.ToList();
Console.WriteLine("List<T> (örnekte List<int[]>) sınıfına kopyalanmış öğrenci notları :");
foreach (var Notlar in OgrenciNotlariListTListesi)
{
foreach (var Notu in Notlar)
{
Console.Write("{0} ", Notu);
}
Console.WriteLine();
}
Console.ReadLine();
ToDictionary İle Sözlük Nesnesi Elde Etme
ToDictionary yöntemi, veri kümesinden verilen bir anahtar alana göre bir
Dictionary(TKey, TValue) koleksiyonu oluşturur.
Dictionary sınıfı, bir
anahtar alanı kullanarak elemanlarına hızlı biçimde ulaşabileceğimiz bir
koleksiyon türüdür.
Aşağıdaki örnek, öğrenci bilgilerini içeren bir veri kaynağından seçtiği
öğrenci bilgilerinden, öğrenci numaralarını anahtar olarak kullanan bir Dictionary(int, Kayit) koleksiyonu oluşturur ve listeden arama yaparak
bulduğu elemanın bazı özelliklerini çıktıya yazar.
var Ogrenciler = OgrencileriGetir();
var Ogrenciler = OgrencileriGetir();
var OgrenciNotlariSozlugu = Ogrenciler.ToDictionary(Ogrenci => Ogrenci.No);
// veya
// Dictionary OgrenciNotlariSozlugu = OgrenciListesi.ToDictionary(Ogrenci => Ogrenci.No);
Kayit BirOgrenciKaydi = OgrenciNotlariSozlugu[14];
Console.WriteLine("14 numaralı öğrencinin bazı bilgileri ...");
Console.WriteLine("Adı {0} olan bu öğrenci, {1}. sınıfta okumaktadır ve {2} doğumludur.",
BirOgrenciKaydi.Adi,
BirOgrenciKaydi.Sinif,
BirOgrenciKaydi.DogumTarihi.Year);
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
14 numaralı öğrencinin bazı bilgileri ...
Adı Mehmet olan bu öğrenci, 4. sınıfta okumaktadır ve 1970 doğumludur.
OfType İle Belirli Bir Tipte Elemanların Listesini Elde Etme
OfType yöntemi, veri kümesinden seçtiği belirtilen tipteki elemanlardan oluşan bir liste döndürür,
Aşağıdaki örnek, bir object[] dizisindeki çift duyarlıklı sayılardan
oluşan bir liste döndürür ve listenin elemanlarını çıktıya yazar.
object[] Degerler = { 3.0, null, "beş", 3, "dört", 5, "altı", 7.1 };
var CiftDuyarliklilar = Degerler.OfType<double>();
Console.WriteLine("Dizide çift duyarlıklı (double) olarak tutulan değerler :");
foreach (var Deger in CiftDuyarliklilar)
{
Console.WriteLine(Deger);
}
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
Dizide çift duyarlıklı (double) olarak tutulan değerler :
3
7,1
Kaynak:
https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b