首頁 > 後端開發 > C++ > LINQ 中的 Cast() 與 OfType():什麼時候應該使用它們?

LINQ 中的 Cast() 與 OfType():什麼時候應該使用它們?

Linda Hamilton
發布: 2025-01-17 04:41:12
原創
819 人瀏覽過

Cast() vs. OfType() in LINQ: When Should I Use Each?

在Linq 中選擇Cast() 和OfType()

在LINQ 領域,將型別從ArrayList 轉換為IEnumerable 可以透過兩個方法來完成:Cast() 和OfType()。了解它們的細微差別對於為不同場景選擇適當的方法至關重要。

Cast() 嘗試將 ArrayList 中的每個元素轉換為指定類型。任何無法成功轉換的元素都會導致拋出 InvalidCastException 例外。

OfType() 另一方面,只傳回可以安全地轉換為指定型別的元素。它會跳過任何無法轉換的元素,從而有效地過濾 ArrayList 以僅包含所需類型的元素。

何時使用每種方法

  • 在以下情況下使用Cast(): 您想要對ArrayList 中的所有元素強制執行特定類型,即使這意味著排除無法使用的元素
  • 在以下情況下使用OfType(): 您想要保留原始 ArrayList 並且只使用可以安全地轉換為指定類型的元素。

說明性範例

考慮以下內容ArrayList:

object[] objs = new object[] { "12345", 12 };
登入後複製
  • objs.Cast(). ToArray();會拋出InvalidCastException,因為第二個元素無法轉換為字串。
  • objs.OfType().ToArray();將回傳 { "12345" },因為只有第一個元素可以轉換為字串。

以上是LINQ 中的 Cast() 與 OfType():什麼時候應該使用它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板