Merhaba arkadaşlar, bu yazımda sizlere Linq Select Kullanımı konusundan bahsedeceğim.
Select sorgusu ile verilerimiz üzerinde bulunan değerlerden belli başlı alanları sadece seçmek istersek bu komutumuzu kullanabiliriz. Örneğin: Kişi listesi verimiz bulunmakta ve bu kişi listesinde İsim-Soyisim-Mail Adresi gibi alanların bulunduğunu düşünelim. Bize ise sadece mail adresleri listesi gerekiyor. Linq Select komutu ile ilgili kodumuzu yazdığımızda bu alanı belirterek sadece mail adreslerinin seçilmesini ve listenin buna göre oluşmasını sağlayabiliriz.
Hemen örnek kodu yazarak inceleyelim.
Öncelikle bir kişi bilgilerimizi tutacak Person nesnemizi oluşturalım.
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string LastName { get; set; }
public string EmailAddress { get; set; }
}
Nesnemizi oluşturduktan sonra main metodu içerisinde kodlarımızı yazıyoruz.
Örnek bir liste oluşturuyoruz.
var persons = new List<Person>() {
new Person { Id = 1, Name="İsim 1", LastName="Soyisim 1", EmailAddress = "test1@alicancevik.com" },
new Person { Id = 2, Name="İsim 2", LastName="Soyisim 2", EmailAddress = "test2@alicancevik.com" },
new Person { Id = 3, Name="İsim 3", LastName="Soyisim 3", EmailAddress = "test3@alicancevik.com" }
};
Örnek listemizi oluşturduktan sonra Linq ile Select işlemini gerçekleştireceğiz. Select işlemi ile listede bulunan elemanlar için sadece e-mail adreslerini liste olarak oluşturacağız.
List<string> mailAddresses = persons.Select(x=> x.EmailAddress).ToList();
Select metodumuz içerisinde sadece EmailAddress alanını yazdırdık ve ToList() metodumuz ile string bir liste oluşturmuş olduk. Şimdi ise ekrana yazdırma işlemlerini sağlayabiliriz.
foreach (var mailAddress in mailAddresses)
{
Console.WriteLine(mailAddress);
}
Foreach ile de mail adresi listesi üzerinde bir döngü işlemi sağlayarak ekrana mail adreslerimizi yazdırmış olduk.
Listemizi örnek olarak oluşturduk. Bu listeyi veri tabanı üzerinden sorguladığımızda da aynı işlemleri gerçekleştirebiliriz.
Umarım faydalı olur.
Bir sonraki yazıda görüşmek üzere…