VB.NET轉換運算符代碼示例解讀
VB.NET編程語言中的運算符操作對于一個程序開發(fā)來說起了非常重要的作用。我們在學習的過程中需要加強對這方面的注意,掌握好這些基礎知識,才能更好的運用這門語言幫助我們實現程序的開發(fā)。#t#
如果已定義了類或結構,則可以定義類或結構的類型與其他數據類型(如 Integer、Double 或 String)之間的VB.NET轉換運算符。
將類型轉換定義為類型或結構中的 CType 函數過程。所有轉換過程必須為 Public Shared,并且每個轉換過程必須指定 Widening 或 Narrowing。
在類或結構上定義一個運算符也稱為“重載”該運算符。
VB.NET轉換運算符示例
下面的示例定義名稱為 digit 的結構與 Byte 之間的轉換運算符。
- Visual Basic
- Public Structure digit
- Private dig As Byte
- Public Sub New(ByVal b As Byte)
- If (b < 0 OrElse b > 9)
Then Throw New _- System.ArgumentException
("Argument outside range for Byte")- Me.dig = b
- End Sub
- Public Shared Widening Operator
CType(ByVal d As digit) As Byte- Return d.dig
- End Operator
- Public Shared Narrowing Operator
CType(ByVal b As Byte) As digit- Return New digit(b)
- End Operator
- End Structure
可以使用下面的代碼測試結構 digit。
- Visual Basic
- Public Sub consumeDigit()
- Dim d1 As New digit(4)
- Dim d2 As New digit(7)
- Dim d3 As digit = CType(CByte(3), digit)
- Dim s As String = "Initial 4 generates "
& CStr(CType(d1, Byte)) _- & vbCrLf & "Initial 7 generates "
& CStr(CType(d2, Byte)) _- & vbCrLf & "Converted 3 generates "
& CStr(CType(d3, Byte))- Try
- Dim d4 As digit
- d4 = CType(CType(d1, Byte) +
CType(d2, Byte), digit)- Catch e4 As System.Exception
- s &= vbCrLf & "4 + 7 generates "
& """" & e4.Message & """"- End Try
- Try
- Dim d5 As digit = CType(CByte(10), digit)
- Catch e5 As System.Exception
- s &= vbCrLf & "Initial 10 generates
" & """" & e5.Message & """"- End Try
- MsgBox(s)
- End Sub
VB.NET轉換運算符相關使用技巧就為大家介紹到這里。