.NET 指南:转换操作符
生活随笔
收集整理的這篇文章主要介紹了
.NET 指南:转换操作符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉換操作符用來把一個對象從一種類型轉換到另外一種類型。轉換操作符可以是隱式的也可以是明確的。隱式的轉換操作符不需要在源代碼中指定一個類型轉換來完成轉換任務。而明確的轉換操作符則需要在源代碼中呈現一個類型轉換來完成轉換任務。
下列簽名說明了 Point 類用來在 Point 和 Size 之間進行轉換的明確的轉換操作符。
public static Size op_Explicit( Point p );如果這種轉換不是被終端用戶所明確期待的,不要提供一個轉換操作符。
理想地,對于消費者的數據調查應該存在一個轉換操作符的定義支持。另外,操作符的定義支持也能夠以需要進行這種轉換的一個或多個相似類型的范例形式而出現。
不要在類型的域空間之外定義轉換操作符。
例如,Int32、Double,以及 Decimal 都是數字類型,而 DateTime 則不是。那么把一個 Double 類型轉換到一個 DateTime 類型的操作就不應該被實現成一個操作符轉換。而是使用一個構造器來把一種類型轉換到另外一種不在相同域空間中的類型。
如果轉換操作存在有潛在的損耗,就不要提供一個隱式的轉換操作符。
例如,從 Double 到 Single 的轉換就不應該是一個隱式的轉換操作,因為 Double 要比 Single 擁有更高的精確度。應該能夠為有損耗的轉換操作提供一個明確的轉換操作符。
不要從隱式的轉換中拋出異常。
隱式的轉換通過系統而被調用;用戶也許并不知道轉換已經發生并且代碼也將是難以調試的。
如果調用轉換操作符而導致了有損耗的轉換并且操作符的約定并不允許有損耗的轉換的時候,不要拋出 System.InvalidCastException 異常。
轉載于:https://www.cnblogs.com/Laeb/archive/2007/02/01/637393.html
總結
以上是生活随笔為你收集整理的.NET 指南:转换操作符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 再见了,鱼儿
- 下一篇: [导入].Net2.0 使用Config