C 使用者定義型別轉換

2021-09-08 16:20:37 字數 1277 閱讀 1960

c#使用者定義型別轉換

c#提供隱式轉換和顯式轉換

宣告隱式轉換的語法如下.注:所有使用者定義轉換必須使用public和static修飾符

public

static

implicit

operator targettype(sourcetype identifier)

targettype:目標型別

引數identitfier:源資料

例如,下面**使乙個int字面量被隱式轉換為limitedint物件,反過來limitedint也可以隱式轉換成乙個int

class limitedint

set

else}}

//隱式轉換:將limitedint物件轉為整型

public

static

implicit

operator

int(limitedint li)

//隱式轉換:將整型轉換為limitedint物件

public

static

implicit

operator limitedint(

int x)

}

class program

,value:

", li.thevalue, value);

console.readkey();

}

改**輸出結果:li:100,value:100

顯示轉換和強制轉換運算子

前面所講的都是隱式轉換,如果你把運算子implcit改為explicit,你將不得不在實行轉換時顯示使用轉換運算子

**片段如下:

//顯示

轉換:將limitedint物件轉為整型

public

static

explicit

operator

int(limitedint li)

//顯示

轉換:將整型轉換為limitedint物件

public

static

explicit

operator limitedint(

int x)

static

void main(

string args)

,value:

", li.thevalue, value);

console.readkey();

}

C 中使用者定義的轉換

看到 深度探索 c 物件模型 的第 21頁,在其談到 c struct 在c 中的乙個合理用途時,看到了 c 中使用者定義的轉換的運用。因而回頭將 c primer 中關於使用者定義的轉換的一些細節溫習了一下。1 使用者定義的轉換的必要性 我們希望能夠在 allint 物件和其他 allint 物件...

mysql型別轉換c 型別轉換 C 型別轉換

一 簡介 型別轉換 把資料從一種型別轉換另一種型別 我們要求等號兩邊參與運算子必須型別一致,如果不一致,滿足下列條件會發生自動型別轉換或者隱式型別轉換。1.兩種型別相容 例如 int和double 相容 都是數字型別 2.目標型別大於源型別 double int 顯示型別轉換 1.兩種型別相相容 i...

C 自定義型別強制轉換

舉乙個小例子 類定義 public class mycurrency public override string tostring dollars,cents 提供mycurrency到float的隱式轉換 public static implicit operator float mycurre...