vb.net中的操作符应用实例
来源:优易学  2011-1-12 11:33:40   【优易学:中国教育考试门户网】   资料下载   IT书店

  任何一门语言都提供了丰富的操作符,vb也不例外。操作符一般分为:算术运算符,赋值运算符,比较运算符,逻辑运算符,其它。本文只以几个小例子来介绍其中一些比较重要的应用。
  在本文中将会用到一个自定义类 dog ,代码如下:
  Public Class dogClass dog
  Private s_name As String
  Private s_color As Color
  Private s_age As Integer
  Public Sub New()Sub New()
  s_name = "塞北的雪"
  s_age = 22
  s_color = System.Drawing.Color.Red
  End Sub
  Public Property Name()Property Name() As String
  Get
  Return s_name
  End Get
  Set(ByVal value As String)
  s_name = value
  End Set
  End Property
  Public Property Color()Property Color() As Color
  Get
  Return s_color
  End Get
  Set(ByVal value As Color)
  s_color = value
  End Set
  End Property
  Public Property Age()Property Age() As Integer
  Get
  Return s_age
  End Get
  Set(ByVal value As Integer)
  s_age = value
  End Set
  End Property
  Public Shared Operator +(ByVal a As dog, ByVal b As dog)
  Dim c As New dog
  c.Name = a.Name + b.Name
  c.Age = a.Age + b.Age
  c.Color = Color.FromArgb((a.Color.ToArgb + b.Color.ToArgb) / 2)
  Return c
  End Operator
  End Class
  1,Is 运算符
  Is运算符比较两个引用对象是否引用了同一实例。 例子如下:
  Dim a As New dog
  Dim b As New dog()
  If a Is b Then
  MsgBox("True")
  Else
  MsgBox("False")
  End If
  b = a
  b.Name = "NorthSnow"
  If a Is b Then
  MsgBox("True")
  Else
  MsgBox("false")
  End If
  ’false
  ’true
  2,操作符重载
  我们可以根据需要对操作符进行重载,本文中的 dog 类 就 对 + 操作符 进行了重载 操作。此时对两个dog 类进行相加时,会返回一个dog 类实例 ,他的 Name 是 那两个 dog 实例的 名字相加,年龄也是 dog 实例的年龄之和,颜色是两个颜色的平均值。例子如下:
  Dim sb As New System.Text.StringBuilder
  Dim m As New dog
  Dim n As New dog
  Dim c As dog
  m.Name = "NorthSnow"
  c = m + n
  sb.AppendLine()
  sb.Append(m.Name)
  sb.Append("--")
  sb.Append(m.Age)
  sb.Append("--")
  sb.Append(m.Color.ToArgb)
  sb.AppendLine()
  sb.Append(n.Name)
  sb.Append("--")
  sb.Append(n.Age)
  sb.Append("--")
  sb.Append(n.Color.ToArgb)
  sb.AppendLine()
  sb.Append(c.Name)
  sb.Append("--")
  sb.Append(c.Age)
  sb.Append("--")
  sb.Append(c.Color.ToArgb)
  MsgBox(sb.ToString)
  ’NorthSnow--22---65536
  ’塞北的雪--22---65536
  ’NorthSnow塞北的雪--44---65536

[1] [2] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训