Middle
რა განსხვავებაა FirstOrDefault და SingleOrDefault მეთოდებს შორის?
sobes.tech AI
პასუხი AI-სგან
FirstOrDefault() აბრუნებს სერიის პირველ ელემენტს, რომელიც აკმაყოფილებს პირობას, ან საწყის მნიშვნელობას (null რეფერენცული ტიპებისთვის, 0 ნომერული ტიპებისთვის), თუ ასეთი ელემენტები არ არსებობს.
SingleOrDefault() აბრუნებს ერთ-ერთ ელემენტს სერიისგან, რომელიც აკმაყოფილებს პირობას, ან საწყის მნიშვნელობას, თუ ასეთი ელემენტები არ არსებობს. თუ მათი რაოდენობა მეტია ერთზე, გამოიწვევს InvalidOperationException გამონაკლისს.
| თვისება | FirstOrDefault | SingleOrDefault |
|---|---|---|
| 1+ ელემენტი იპოვეს | აბრუნებს პირველს | გამონაკლისს აგდებს |
| ელემენტი არ იპოვეს | აბრუნებს საწყის მნიშვნელობას | აბრუნებს საწყის მნიშვნელობას |
| მოსალოდნელი რაოდენობა | ნული ან მეტი | ზუსტად ერთი |
// გამოყენების მაგალითი FirstOrDefault-ის
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumber = numbers.FirstOrDefault(n => n % 2 == 0); // evenNumber იქნება 2
var nonExistent = numbers.FirstOrDefault(n => n > 10); // nonExistent იქნება 0
// გამოყენების მაგალითი SingleOrDefault-ის
var singleNumber = new List<int> { 7 };
var result = singleNumber.SingleOrDefault(); // result იქნება 7
var emptyList = new List<int>();
var defaultValue = emptyList.SingleOrDefault(); // defaultValue იქნება 0
var multipleNumbers = new List<int> { 1, 2, 3 };
// var error = multipleNumbers.SingleOrDefault(); // ეს ხაზი გამოიწვევს `InvalidOperationException`-ს