Single SingleOrDefault ve First FirstOrDefault Farkları

LINQ sorgularında kullanılar Single, SingleOrDefault, First ve FirstOrDefault extension metodları bulunmaktadır. Bu metodların birbirlerinden farkları mevcuttur, bunları inceleyelim;

//int tipinde bir dizimiz olduğunu varsayalım.
int[] oddNumbers = { 1, 3, 5, 7, 11}; 

SingleOrDefault: Eğer dizi içinden sadece bir tane sayı seçmek istiyorsak ve seçim şartımız sağlanmıyorsa, bu durumda int tipinin varsayılan değeri olan 0(sıfır) döndürülsün istiyorsak SingleOrDefault seçimini kullanmalıyız. Eğer seçim sonucunda birden fazla değer dönerse InvalidOperationException fırlatılacaktır.

Single: Eğer seçimimiz sonucunda sadece bir tane eleman geleceği kesin ise, bu durumda Single seçimini kullanabiliriz. Eğer şartımızı sağlayan hiçbir eleman dönmezse veya şartımızı sağlayan birden fazla eleman dönerse, bu iki durumda da istisnalar fırlatılacak ve hata ile karşılaşmış olacağız.

FirstOrDefault: Bu seçimde de mantık SingleOrDefault ile aynıdır. Ancak bu seçimde istenen şartta ilk eleman seçilir. Örneğin dizinin ilk elemanı, dizinin 2’den büyük ilk elemanı gibi.

First: Dönen sonuçlardan ilkini getirir yoksa hata verir.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s