Linq Single ve SingleOrDefault Metodu Kullanımı

17.09.2013 Hikmet Okumuş 3773 0 Linq & Lambda


Bir sonuç kümesinden tek bir elemanın seçileceği işlemler için Single, eğer şartımız sağlanmaz ve sonuç kümesinden herhangi bir değer gelmez ise tipin varsayılan değerini döndürmek için SingleOrDefault metodları kullanılmaktadır.
Single metodunu kullanırken dönen sonucun tek bir eleman olduğuna dikkat edilmelidir. Birden fazla sonuç dönerse ya da hiç sonuç dönmezse InvalidOperationException hatası alınacaktır. Örnek üzerinde inceleyelim.

www.hikmetokumus.com

Bu hatanın alınmaması için sonucun tek bir eleman içermesi gerekmektedir.

www.hikmetokumus.com

Eğer kriter sonucunda geriye sonuç dönmezse tekrar hata alınacaktır.

www.hikmetokumus.com

SingleOrDefault metoduda aynı şekilde tek bir sonucun döneciği durumlar için kullanılmaktadır. Birden fazla sonuç dönerse hata alınacaktır. Single ile farklı olarak eğer kriter sonucunda bir sonuç dönmezse ilgili tipin varsayılan değeri dönecektir. Öncelikle birden fazla sonucun döndüğü durumlarda alınacak hatayı görelim.

www.hikmetokumus.com

Kriter sonucunda birden fazla sonuç döndüğü için hata alınacaktır. Son olarak değerin dönmeyeceği bir kriter yazalım. Bu işlemin sonucunda Int tipinin varsayılan değeri geri döndürülecektir.

www.hikmetokumus.com

Single ve SingleOrDefault metodlarını kullanmadan önce sonucun tek bir eleman olarak döndüğünden emin olunuz.

Başarılar dilerim.




Yorum