Wann sollte man .First() und wann .FirstOrDefault() in LINQ in C# verwenden?
Hallo zusammen! Ich habe vor kurzem angefangen, C# und LINQ zu lernen, und bin auf eine unklare Situation gestoßen. Es gibt zwei ähnliche Methoden: `.First()` und `.FirstOrDefault()`. Ich verstehe, dass beide das erste Element einer Sequenz zurückgeben, aber worin besteht der Unterschied zwischen ihnen?\n\nAngenommen, ich habe eine Liste von Benutzern:\n\n```csharp\nList users = new List { "Alice", "Bob", "Charlie" };\n```\n\nWenn ich schreibe:\n\n```csharp\nstring firstUser = users.First(u => u.StartsWith("Z"));\n```\n\ndann erhalte ich eine `InvalidOperationException`. Wenn ich jedoch `.FirstOrDefault()` verwende:\n\n```csharp\nstring firstUser = users.FirstOrDefault(u => u.StartsWith("Z"));\n```\n\ndann gibt es keine Exception, und `firstUser` ist gleich `null`.\n\nAber wann sollte man welche Variante verwenden? Ich habe gelesen, dass `.First()` eine Exception auslöst, wenn nichts gefunden wird.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen