Jaka jest różnica między singlem a SingleOrDefault w Linq?
Jaka jest różnica między singlem a SingleOrDefault w Linq?

Wideo: Jaka jest różnica między singlem a SingleOrDefault w Linq?

Wideo: Jaka jest różnica między singlem a SingleOrDefault w Linq?
Wideo: What's the DIFFERENCE between Kai'li Shaft Colours? | Kai'li Shaft Colour Comparison Test 🔵 🔴 ⚪️ 2024, Listopad
Anonim

Pojedynczy () - Jest dokładnie 1 wynik, wyjątek jest zgłaszany, jeśli nie zostanie zwrócony żaden wynik lub więcej niż jeden wynik. Pojedynczy lub domyślny () - Taki sam jak Pojedynczy (), ale może obsłużyć wartość null. First() - istnieje co najmniej jeden wynik, wyjątek jest zgłaszany, jeśli nie zostanie zwrócony żaden wynik.

W ten sposób, jakie są różnice między metodami single() i SingleOrDefault()?

ten Metoda SingleOrDefault() robi to samo co Metoda Single() . Jedyny różnica jest to, że zwraca wartość domyślną typu danych kolekcji, jeśli kolekcja jest pusta, zawiera więcej niż jeden element lub nie znajduje żadnego elementu lub więcej niż jeden element dla określonego warunku.

Ponadto, co to jest pojedyncze lub domyślne w Linq? Różnica semantyczna: FirstOrDefault zwraca pierwszy element potencjalnie wielu (lub domyślny jeśli żaden nie istnieje). Pojedynczy lub domyślny zakłada, że istnieje pojedynczy przedmiot i zwraca go (lub domyślny jeśli żaden nie istnieje). Wiele elementów jest naruszeniem umowy, zgłaszany jest wyjątek.

W związku z tym, jaka jest różnica między pierwszym a singlem w Linq?

Najpierw () wyrzuci, jeśli nie może znaleźć pierwszy dopasowanie wartości, Pojedynczy () wyrzuci, jeśli nie może znaleźć wartości i jeśli w sekwencji wejściowej jest więcej niż jeden pasujący element. Dlatego mają siostrzane funkcje zwane PierwszyLubDomyślny () i SingleOrDefault().

Jaka jest różnica między metodą rozszerzenia FirstOrDefault () i SingleOrDefault () w Linq?

Wstęp. ten Metoda SingleOrDefault() zwraca pojedynczy określony element sekwencji lub wartość domyślną, jeśli ten element nie zostanie znaleziony w sekwencja. ten Metoda FirstOrDefault() zwraca pierwszy określony element sekwencji lub wartość domyślną, jeśli ten element nie zostanie znaleziony w sekwencja.

Zalecana: