20.06.16 21:14
LINQ - Temel İşlemler - Bir Veri Kaynağı Bildirme ve Seçme (From ve Select)
LINQ sorgularında birinci işlem sorgulanacak bir veri kaynağı (Data Source) ve seri değişkeni (Range Variable) bildirmektir. Bunun için sorguların ilk bölümü olan " from " cümleciğinin kullanılması gerekir. var sayilar = int[] { 33, 22, 56, 7, 34, 99 }; var secilenSayilar = from sayi in sayilar select sayi; /* // LINQ Yöntem Sözdizimi ile sorgu : var query = sayilar.Select(sayi => sayi); */ from cümleciğinde " in " ifadesinden sonra gelen bilgi (örnekte sayilar) veri kaynağını bildirir. " from " dan sonra gelen isim ise seri değişkenini bildirir. Seri değişkeni (örnekte sayi) " foreach " döngüsündeki döngü değişkeni bildirimi gibi sorgu çalıştırıldığında veri kaynağının elemanları tek tek gezilirken sıradaki elemana referans olur / sıradaki elemanı temsil etmek için kullanılır. Bazen çoklu değişkenler kullanmak gerekebilir. Bunun için " let " cümleciği kullanılır. Let ayrıca incelenecektir. Sondaki " select sayi " cümleciği ise " sayi " değişkeninin nesinin seçileceğini bildirir. Bizim örneğimizde koleksiyonun sıradaki elemanına referans olan " sayi " değişkeninin kendisi (başvurduğu değer) seçilmektedir. Fakat bazen değişkenin işaret ettiği tipin bir özelliği veya değişkenin değerini bir işleme tabi tuttuktan sonraki (örneğin karesi aldıktan sonra, büyük harfe çevirdikten sonra ...) değer vb. seçimler yapılabilir. İşte bir örnek. public class Ogrenci { public string Adi { get; set; } public string Soyadi { get; set; } public int No { get; set; } } . . . var ogrenciler = List<Ogrenci> { new Ogrenci() { Adi = "Ali", Soyadi = "Ünlü", No = 112 }, new Ogrenci() { Adi = "Veli", Soyadi = "Yeşil", No = 116 }, new Ogrenci() { Adi = "Selami", Soyadi = "Sağlam", No = 132 } }; var query = from ogrenci in ogrenciler select ogr.Soyadi; /* // LINQ Yöntem Sözdizimi ile sorgu : var query = ogrenciler.Select(ogr => ogr.Soyadi); */ . . . Örnekteki sorgu, " ogrenciler " isimli genelliyici (generic) listeden her bir öğrencinin soyadı bilgisinin ( Ogrenci sınıfının Soyadi özelliğinin) seçilmesini bildirir. Dolayısıyla öğrencilerin soyadlarından oluşan bir koleksiyon ( Soyadi özelliğinin türü String olduğundan IEnumerable<String> türünde) elde ederiz. 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) (Bu makale) 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 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
09.04.16 20:08
LINQ - Temel İşlemler - Bir Veri Kaynağı Bildirme ve Seçme (From ve Select)
LINQ sorgularında birinci işlem sorgulanacak bir veri kaynağı (Data Source) ve seri değişkeni (Range Variable) bildirmektir. Bunun için sorguların ilk bölümü olan " from " cümleciğinin kullanılması gerekir. var sayilar = int[] { 33, 22, 56, 7, 34, 99 }; var secilenSayilar = from sayi in sayilar select sayi; /* // LINQ Yöntem Sözdizimi ile sorgu : var query = sayilar.Select(sayi => sayi); */ from cümleciğinde " in " ifadesinden sonra gelen bilgi (örnekte sayilar) veri kaynağını bildirir. " from " dan sonra gelen isim ise seri değişkenini bildirir. Seri değişkeni (örnekte sayi) " foreach " döngüsündeki döngü değişkeni bildirimi gibi sorgu çalıştırıldığında veri kaynağının elemanları tek tek gezilirken sıradaki elemana referans olur / sıradaki elemanı temsil etmek için kullanılır. Bazen çoklu değişkenler kullanmak gerekebilir. Bunun için " let " cümleciği kullanılır. Let ayrıca incelenecektir. Sondaki " select sayi " cümleciği ise " sayi " değişkeninin nesinin seçileceğini bildirir. Bizim örneğimizde koleksiyonun sıradaki elemanına referans olan " sayi " değişkeninin kendisi (başvurduğu değer) seçilmektedir. Fakat bazen değişkenin işaret ettiği tipin bir özelliği veya değişkenin değerini bir işleme tabi tuttuktan sonraki (örneğin karesi aldıktan sonra, büyük harfe çevirdikten sonra ...) değer vb. seçimler yapılabilir. İşte bir örnek. public class Ogrenci { public string Adi { get; set; } public string Soyadi { get; set; } public int No { get; set; } } . . . var ogrenciler = List<Ogrenci> { new Ogrenci() { Adi = "Ali", Soyadi = "Ünlü", No = 112 }, new Ogrenci() { Adi = "Veli", Soyadi = "Yeşil", No = 116 }, new Ogrenci() { Adi = "Selami", Soyadi = "Sağlam", No = 132 } }; var query = from ogrenci in ogrenciler select ogr.Soyadi; /* // LINQ Yöntem Sözdizimi ile sorgu : var query = ogrenciler.Select(ogr => ogr.Soyadi); */ . . . Örnekteki sorgu, " ogrenciler " isimli genelliyici (generic) listeden her bir öğrencinin soyadı bilgisinin ( Ogrenci sınıfının Soyadi özelliğinin) seçilmesini bildirir. Dolayısıyla öğrencilerin soyadlarından oluşan bir koleksiyon ( Soyadi özelliğinin türü String olduğundan IEnumerable<String> türünde) elde ederiz.
Ekleyen: canora