Merhaba Arkadaslar,
Linq Syntax'inin, MSSql'in Syntax'indan daha farkli oldugunu önceki yazilarimda belirtmistim. Linq aslinda SQL'in C#'a dönüstürülmüs hali olarak düsünülebilir.
Like operatörü MSSql sorgularimizda belirttigimiz kolonun içerisinde arama yapmamizi saglayan çok kullanisli bir operatör. Wildcards kullanimi ile birlikte istersek basinda,istersek sonunda, istersek içinde belirttigimiz degerin olup olmadigini ögrenebiliyoruz.
Linq'te de ayni durum geçerli, ancak Syntax'i biraz daha farkli ve daha az kod yaziyoruz. Hemen bir örnek yapalim.
3 farkli yöntem mevcut:
1) Startswith: Baslangiç degeri
2) Endswith : Bitis degeri
3) Contains: Baslangiç - bitis fark etmez, içerisinde buldugu anda sonucu verir.
Örnek kodlarimiz su sekilde;
string[] sehirler = { "Istanbul", "Ankara", "Izmir" };
string[] kucukHarfeCevir = new string[sehirler.Length];
for (int i = 0; i < sehirler.Length; i++)
{
kucukHarfeCevir[i] = sehirler[i].ToLower();
}
foreach (var item in sehirler)
{
Console.WriteLine(item);
}
Console.WriteLine("Dizi içerisindeki elemanlarin içerisinde aramak istediginiz kelimeyi yazin.");
string aranan = Console.ReadLine();
Console.WriteLine("--------------------------------");
Console.WriteLine("Aradiginiz Kelime: " + aranan.ToString()+"\n");
Console.WriteLine("Bulunan Sonuçlar" + "\n");
var result = from d in kucukHarfeCevir where d.Contains(aranan) select d;
foreach (var item in result)
{
Console.WriteLine(">>>"+item);
}
Console.WriteLine();
Console.WriteLine("Toplam {0} Sonuç Bulundu.",result.Count().ToString());
Yukarida yaptigimiz islem su, bir dizi tanimladik, tanimladigimiz dizinin elemanlari küçük harfe çevirmek için farkli bir diziye aktardik. Sonrasinda ekrandan bir deger girilmesini istedik ve bu deger dizi içerisindeki elemanlardan herhangi birinin içerisinde bulunursa, kaç tane sonuç bulundugunu ve bulunan sonuçlari ekrana yazmasini sagladik.
*****Linq sorgusu içerisinde Contains yazan yere Startswith yazarsaniz baslangiç degeri içerisinde sorgulama yapar, Endswith yazarsaniz bitis degeri içerisinde sorgulama yapar.
Anlamadiginiz bir yer olursa, yorum yazmaniz yeterli.
Kod'la kalin...
Yazılım Geliştirici & Yazılım Uzmanı