Linq: FirstOrDefault vs First

Linq: FirstOrDefault vs First
Oggi -per cominciare in maniera soft la settimana- vi propongo un tutorial a tema Linq per mostravi la differenza tra FirstOrDefault e First.
Per farlo definiamo una List di string come la seguente.
|
|
Come avrete visto e’ davvero semplice, ma quanto basta per l’esempio.
FirstOrDefault
Prima di mostrare l’esempio, voglio riportare la di FirstOrDefault per farvi capire come funziona:
Summary: Returns the first element of a sequence, or a default value if the sequence contains no elements.
Ora possiamo passare al codice.
|
|
Quale sara’ il valore di result secondo voi?
- Se startWith sara’ P il ritorno sara’ Pacman essendo il primo elemento con la P nella mia lista
- Se startWith sara’ M / L il ritorno sara’ Mario o Luigi
- In caso di qualsiasi altra lettera verra’ tornata una stringa vuota.
First
Prima di mostrare l’esempio, voglio riportare la di First per farvi capire come funziona:
Returns the first element of a sequence.
Ora possiamo passare al codice.
|
|
Quale sara’ il valore di result secondo voi?
- Se startWith sara’ P il ritorno sara’ Pacman essendo il primo elemento con la P nella mia lista
- Se startWith sara’ M / L il ritorno sara’ Mario o Luigi
- In caso di qualsiasi altra lettera verra’ sollevata una eccezione non potendo prendere l’elemento First in una collezione vuota.
Per la precisione l’Exception sollevata e’ la seguente:
Sequence contains no elements
Quindi ricordatevi di utilizzare First solo ed esclusivamente se siete certi di avere gli elementi nella lista.