1. 程式人生 > >C#基礎:自定義顯式轉換和隱式轉換

C#基礎:自定義顯式轉換和隱式轉換

顯式轉換和隱式轉換不僅可以用在數學運算子,還可以自定義型別之間的顯式轉換和隱式轉換。

示例程式碼如下:

       //自定義 隱式轉換,顯示轉換

  1.   public class ConvClass1 {//型別1:隱式轉換關鍵字implicit
  2.         public int val; //int型別    operator運算子關鍵字
  3.         public static implicit operator ConvClass2(ConvClass1 op1) {
  4.             ConvClass2 con = new ConvClass2();
  5.             con.val = op1.val;//隱式轉換 關鍵字implicit
  6.             return con;
  7.         }
  8.     }
  9.  public class ConvClass2 {//型別2:顯式轉換關鍵字explicit
  10.         public double val;//double型別
  11.         public static explicit operator ConvClass1(ConvClass2 op2) {
  12.             ConvClass1 con = new ConvClass1();
  13.             checked{ con.val = (int)op2.val; }//顯式轉換  關鍵字explicit
  14.             return con;
  15.         }
  16.     }
  17.  public class Pargram{
  18.        public stitic void Main(string[] args){
  19.             ConvClass1 op1 = new ConvClass1();
  20.             op1.val = 6;
  21.             ConvClass2 op2 = op1;//隱式轉換
  22.             ConvClass2 op3 = (ConvClass2)op1;//顯式轉換
  23.             Console.WriteLine(op1.val);
  24.             Console.WriteLine(op2.val);
  25.             Console.WriteLine(op3.val);
  26.       }
  27. }