Archive for Mart 27, 2011

Linq ile bir diziye satır numarası atama

.Net framework 3 ve sonrası ile hayatımıza giren Linq sorguları oldukça fayda sağlamakta. Benim için satıriçi yazılan metodları -delegate, Action, lambda func vb- anlamak çok kolay olmasa da biraz kafa yorunca neler çıktığına şaşırmamak elde değil.

Bir iş üzerinde uğraşırken basit bir dizi üzerinde aradığım elemanın satır sayısını ya da dizi indexini elde etmem gerekti. eski usül bunu herhalde şöyle yapardım:

int bulunanIndex =-1;

for(int i=0;i<dizi.Lenght;i++)
if(dizi[i]==aranan)
bulunanIndex=i;

Bu çözüm gayet güzel ve basittir ama yanlızca o indexi bulmanıza yarar, daha fazlası değil.

Aşağıdaki linq metodu ile diziden indexlenmiş bir dizi elde etmiş oluruz.

for(int i=0;i{Eleman=eleman,Index=id});

Burda eleman dizinin bir elemanı, id ise Select metodu içinde dahili olarak kullanılan döngünün indexeri. Biz burdan Eleman ve Index propertylerine sahip bir sınıf elde ediyoruz. Ve daha sonra bu sınıfı indexi üzerinde sorgu yapabileceğimiz bir Linq sorgusunda rahat rahat kullanabiliyoruz.

var sonuc = from x in indexlenmisDizi
where x.Eleman.Contains(” “) && Index>23
select x;

Kolaylıklar, güzellikler…

Mart 27, 2011 at 2:48 am Yorum yapın


Takvim

Mart 2011
Pts Sal Çar Per Cum Cts Paz
« Oca   Nis »
 123456
78910111213
14151617181920
21222324252627
28293031  

En Son Yazılanlar

İstatistik

  • 31,850 sayfa görüntüleme

Takip Et

Get every new post delivered to your Inbox.