Avatar ·

C# में LINQ में .First() और .FirstOrDefault() का उपयोग कब करें?

सभी को नमस्ते! मैंने हाल ही में C# और LINQ सीखना शुरू किया है, और एक अजीब स्थिति का सामना किया। दो समान methods हैं: `.First()` और `.FirstOrDefault()`। मैं समझता हूँ कि दोनों sequence का पहला element return करते हैं, लेकिन उनमें क्या अंतर है?\n\nमान लीजिए, मेरे पास users की एक list है:\n\n```csharp\nList users = new List { "Alice", "Bob", "Charlie" };\n```\n\nअगर मैं लिखता हूँ:\n\n```csharp\nstring firstUser = users.First(u => u.StartsWith("Z"));\n```\n\nतो मुझे `InvalidOperationException` exception मिलता है। और अगर मैं `.FirstOrDefault()` का उपयोग करता हूँ:\n\n```csharp\nstring firstUser = users.FirstOrDefault(u => u.StartsWith("Z"));\n```\n\nतो कोई exception नहीं है, और `firstUser` `null` के बराबर है।\n\nलेकिन कब कौन सा विकल्प उपयोग करना सही है? मैंने पढ़ा है कि `.First()` exception throw करता है अगर कुछ नहीं मिलता।