首頁 >後端開發 >C++ >如何將清單轉換為.NET 中的清單?

如何將清單轉換為.NET 中的清單?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-17 00:56:13865瀏覽

How to Convert a List to a List in .NET?

將列表轉換為.NET中的列表

本指南介紹如何將 Client 物件 (List<Client>) 清單轉換為其對應的 IDic 介面 (List<IDic>) 清單。

為什麼直接投射失敗

.NET 中允許從衍生型別(如 Client)直接轉換為基底型別(IDic)。然而,由於協方差的限制,相反的過程並不簡單。 這些限制可防止不安全操作,即基底類型清單可能意外包含派生類型元素,從而保持類型安全。

有效的轉換方法

兩種可靠的方法實現所需的轉換:

1。利用 IEnumerable<IDic>(.NET 4 及更高版本)

.NET 4 及更高版本支援與 IEnumerable<T> 的協方差。 這可以實現從 List<Client>IEnumerable<IDic> 的轉換,從而允許將 Client 物件作為 IDic 實例進行迭代。

2。建立新清單

要建立 List<IDic>,您必須明確建立一個新清單並使用介面引用填充它。 .NET 4 為此提供了 ToList<T>() 方法。 .NET 3.5 使用 Cast<T>() 後面接著 ToList()

關於資料獨立性的重要說明

兩種技術都會產生單獨的列表,從而保持類型安全。 至關重要的是,對原始 List<Client> 的修改不會自動更新新的 List<IDic>。 只有直接對 Client 物件本身進行的變更才會在兩個清單中可見。

以上是如何將清單轉換為.NET 中的清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn