c#实现显式的用户自定义类型转换(关键字explicit operator)
生活随笔
收集整理的這篇文章主要介紹了
c#实现显式的用户自定义类型转换(关键字explicit operator)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*
?*?Created?by?SharpDevelop.
?*?User:?noo
?*?Date:?2009-9-1
?*?Time:?13:41
?*?
?*?系統預定義的數據類型,如int,float,double,string等,有的時候并不能滿足我們的需要,這個時候我們需要自己的數據類型,即為自定義數據類型
?*?但是自定義數據類型默認是不能同系統預定義的類型進行轉換操作的,這時自定義類型完全沒有一點作用,所以為了能在系統中運用自定義數據類型
?*?要進行必要的用戶自定義數據類型的轉換,把它轉換為系統可以識別的、同預定義數據類型進行操作轉換的數據,為系統所使用。
?*?
?*?顯式的用戶定義類型轉換,關鍵字explicit,下面創建出一種能顯式轉換為float類型的自定義類型
?*?其實double類型就是一種能夠顯式轉換為float的類型,現在創建的類型完全可以把它想象成double類型
?*/
using?System?;
class?MyType//定義自己的類型,相當于float
{
????private?float?A,B;
????public?MyType(float?a,float?b)
????{
????????this.A?=a;
????????this.B?=b;
????}
????public?static?explicit?operator?double(MyType?m)//實現顯式轉換為double數據類型的方法,注意這里的修飾符和關鍵字的寫法
????{
????????return?m.A?+m.B/10;
????}
}
class?test
{
????static?void?Main()
????{
????????MyType?mt=new?MyType?(12.5f,6.6f);//相當于float?mt=12.5f
????????double?d=(double)mt;//這里進行的是一個顯式轉換,相當于double?d=(double)mt
????????Console.WriteLine?(d);//輸出13.1599999904633
????}
}
?*?Created?by?SharpDevelop.
?*?User:?noo
?*?Date:?2009-9-1
?*?Time:?13:41
?*?
?*?系統預定義的數據類型,如int,float,double,string等,有的時候并不能滿足我們的需要,這個時候我們需要自己的數據類型,即為自定義數據類型
?*?但是自定義數據類型默認是不能同系統預定義的類型進行轉換操作的,這時自定義類型完全沒有一點作用,所以為了能在系統中運用自定義數據類型
?*?要進行必要的用戶自定義數據類型的轉換,把它轉換為系統可以識別的、同預定義數據類型進行操作轉換的數據,為系統所使用。
?*?
?*?顯式的用戶定義類型轉換,關鍵字explicit,下面創建出一種能顯式轉換為float類型的自定義類型
?*?其實double類型就是一種能夠顯式轉換為float的類型,現在創建的類型完全可以把它想象成double類型
?*/
using?System?;
class?MyType//定義自己的類型,相當于float
{
????private?float?A,B;
????public?MyType(float?a,float?b)
????{
????????this.A?=a;
????????this.B?=b;
????}
????public?static?explicit?operator?double(MyType?m)//實現顯式轉換為double數據類型的方法,注意這里的修飾符和關鍵字的寫法
????{
????????return?m.A?+m.B/10;
????}
}
class?test
{
????static?void?Main()
????{
????????MyType?mt=new?MyType?(12.5f,6.6f);//相當于float?mt=12.5f
????????double?d=(double)mt;//這里進行的是一個顯式轉換,相當于double?d=(double)mt
????????Console.WriteLine?(d);//輸出13.1599999904633
????}
}
轉載于:https://www.cnblogs.com/gisland/archive/2009/09/01/1558027.html
總結
以上是生活随笔為你收集整理的c#实现显式的用户自定义类型转换(关键字explicit operator)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最近一段时间很失望
- 下一篇: [字符集]Unicode和UTF-8之间