20.06.16 21:20
LINQ - Dönüşüm (Conversion) Örnekleri
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 Diğer LINQ Makaleleri: LINQ Örnekleri makalelerinde kullanılan verikaynağı LINQ (Language Integrated Query - Dile Entegre Edilmiş Sorgu) Nedir? LINQ Sağlayıcıları (LINQ Providers) LINQ Yöntem Sözdizimi (LINQ Method Syntax) LINQ - Temel İşlemler - Bir Veri Kaynağı Bildirme ve Seçme (From ve Select) LINQ - Temel İşlemler - Süzme (Filtering) LINQ - Temel İşlemler - Sıralama (Ordering) LINQ - Temel İşlemler - Gruplama (Grouping) LINQ - Temel İşlemler - Birleştirme (Joining) LINQ - Deferred Execution - Ertelenmiş Çalıştırma LINQ - Immediate Execution - Anında Çalıştırma LINQ - Query Reuse - Sorgunun Yeniden Kullanımı LINQ - Kısıtlama (Restriction) Kullanım Örnekleri LINQ - Yansıtma (Projection) - Select Kullanım Örnekleri LINQ - Yansıtma (Projection) - SelectMany Kullanım Örnekleri LINQ - Bölümleme (Partitioning) Örnekleri LINQ - Sıralama (Ordering) Örnekleri LINQ - Gruplama (Grouping) Örnekleri LINQ - Küme (Set) Örnekleri LINQ - Dönüşüm (Conversion) Örnekleri (Bu makale) LINQ - Eleman (Element) Seçimi Örnekleri LINQ - Oluşturma (Generation) Örnekleri LINQ - Miktar Belirleyiciler (Quantifiers) Örnekleri LINQ - Yığın (Aggregate) Örnekleri LINQ - Birleştirme (Join) İşlemleri LINQ - Özel Dizilim (Custom Sequence) Örneği LINQ - Concat ve SequenceEqual İle Örnekle r
Ekleyen: canora
Değiştiren: canora
10.04.16 22:50
LINQ - Dönüşüm (Conversion) Örnekleri
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
Ekleyen: canora