First(), FisrtOrDefault(), Single(), SingleOrDefault()

Merhaba Arkadaşlar bugun sizlere Linq sorgularınından biribirine benzeyen First(), FisrtOrDefault(), Single(), SingleOrDefault() deyimlerini anlatmaya çalışacağım.

First() deyimi sorgu sonucun ilk değerinin verir, değer yoksa hata verir. FisrtOrDefault() sogu sonucunun ilk değerini verir, sonuc yoksa varsayıla değeri verir. Single() deyimi sorgu sonucunun yine ilk değerinin verir. sonuc yoksa ve birden fazla ise hata verir. SingleOrDefault ise sorgu sonucun ilk değerini verir. Sonuc yoksa default , birden fazla ise hata fırlatır.

int[] urunler = { 3,4,5,6,7,2,3,4,5};
                int us = urunler.FirstOrDefault(x => x % 2 == 0);
                Console.WriteLine(us);
                //sonuc 4
int[] urunler = { 3,4,5,6,7,2,3,4,5};
                int us = urunler.FirstOrDefault(x => x % 12 == 0);
                Console.WriteLine(us);
                //sonuc 0
int[] urunler = { 3,4,5,6,7,2,3,4,5};
                int us = urunler.SingleOrDefault(x => x % 12 == 0);
                Console.WriteLine(us);
                //sonuc 0
int[] urunler = { 3,4,5,6,7,2,3,4,5};
                int us = urunler.SingleOrDefault(x => x % 2 == 0);
                Console.WriteLine(us);
                //sonuc hata fırlatır. fazla sonuc var.
int[] urunler = { 3,4,5,6,7,2,3,4,5};
                int us = urunler.Single(x => x % 12 == 0);
                Console.WriteLine(us);
                //sonuc hata fırlatır.
int[] urunler = { 3,4,5,6,7,2,3,4,5};
                int us = urunler.Single(x => x % 7 == 0);
                Console.WriteLine(us);
                //sonuc 7// tek sonuc var.

Bir sonraki yazımızda görüşmek üzere.

 

http://www.flickr.com/photos/stosh_26/

Add comment

The file '/Custom/Widgets/Calendar/widget.cshtml' does not exist.The file '/Custom/Widgets/Category list/widget.cshtml' does not exist.The file '/Custom/Widgets/Tag cloud/widget.cshtml' does not exist.The file '/Custom/Widgets/Page List/widget.cshtml' does not exist.The file '/Custom/Widgets/Month List/widget.cshtml' does not exist.