as
運算符還是 ToString()
? 在 C# 中,將對像從一種類型轉換為另一種類型有多種方法。本文將探討三種常見方法:直接轉換、as
運算符和 ToString()
方法。
<code class="language-csharp">string s = (string)o;</code>
直接轉換顯式地將對象 o
轉換為 string
類型。如果 o
實際上不是 string
類型,則會拋出 InvalidCastException
異常。但是,如果 o
為空,它仍然會被賦值給字符串變量 s
。
as
運算符<code class="language-csharp">string s = o as string;</code>
as
運算符嘗試將對象 o
轉換為 string
類型。如果轉換成功,則將值賦給 s
。但是,如果轉換失敗或 o
為空,則將 s
設置為空。此運算符不能用於值類型,因為值類型不能為 null。
ToString()
方法<code class="language-csharp">string s = o.ToString();</code>
ToString()
方法嚴格來說不是轉換操作。相反,它檢索對象 o
的字符串表示形式,而不管其類型如何。如果 o
為空,此方法將引發 NullReferenceException
異常。
對於大多數轉換,建議使用直接轉換(方法 1)。它提供直接的行為,並在無效轉換的情況下允許異常處理。
as
運算符(方法 2)很少使用,因為它在轉換失敗時返回 null,這可能會產生誤導。只有在特定情況下才會有益處,例如處理依賴於錯誤代碼而不是異常的糟糕設計的庫。
ToString()
方法(方法 3)不是轉換操作,應該在需要獲取對象的字符串表示形式時使用。
以上是直接鑄造,`a as` ocerator''或`toString()`:您應該選擇哪種C#類型轉換方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!