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.
Bu hatanın alınmaması için sonucun tek bir eleman içermesi gerekmektedir.
Eğer kriter sonucunda geriye sonuç dönmezse tekrar hata alınacaktır.
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.
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.
Single ve SingleOrDefault metodlarını kullanmadan önce sonucun tek bir eleman olarak döndüğünden emin olunuz.
Başarılar dilerim.