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