LINQ 中 .First 與 .FirstOrDefault 的使用時機
何時使用 .First?
在以下情況下使用 .First
方法:
何時使用 .FirstOrDefault?
在以下情況下使用 .FirstOrDefault
方法:
.Take 方法的比較
.Take
方法與 .First
方法有所不同:
.Take
返回一個包含指定數量元素的序列。 .Take(1)
來獲取。 實際應用示例
例如,如果你有一個名稱列表,需要檢索第一個匹配的名稱或處理未匹配的情況,可以使用 .FirstOrDefault
:
<code class="language-csharp">List<string> names = GetNames(); string name = names.FirstOrDefault(n => n == "John"); if (name != null) { // 处理找到 "John" 的情况。 } else { // 处理未找到 "John" 的情况。 }</code>
相反,如果你預期列表始終至少包含一個名稱,可以使用 .First
直接檢索第一個元素,如果找不到則拋出異常:
<code class="language-csharp">string name = names.First(n => n == "John");</code>
以上是.first vs. linq中的第一代違反:何時使用哪個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!