技巧 vb.net中的操作符应用实例

任何一门语言都提供了丰富的操作符,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 
3,like操作符 

like 操作符用于判断一个字符串与另外一个字符串是否匹配,大小写敏感。语法是: 

Result=String like Pattern 

例子如下: 

Dim a As String = "Northsnow,塞北的雪" 
Dim b As String = "Northsnow,塞北的雪" 

If a Like b Then 
MsgBox("true") 
Else 
MsgBox("false") 
End If 
b = "northsnow,塞北的雪" 
If a Like b Then 
MsgBox("true") 
Else 
MsgBox("false") 
End If 

'true 
'false 
另外,Pattern支持通配符。这一点肯定让我们想起了正则表达式(Regular Expression)。不过我们千万不要搞混了,虽然有些地方相近,但是有些通配符与正则表达式不太一样,功能也有区别。like操作符支持的通配符共有5种: 
? 表示一个任意字符(1个) 
* 任意个任意字符(0-n个) 
# 表示一个数字 
[charlist] 表示 charlist 中的任意一个字符 
[!charlist] 表示 不在charlist 中的任意一个字符

用过正则的朋友一定会很容易的理解的,有几个核心的规则一定要记牢,那就是: 

(1) * 可以匹配任何字符串 
(2) ?可以匹配任何一个字符 
(3) 而# 相当于[0-9] 只能匹配一个数字 如果要匹配两个数字需要写成 ## 
(4) 字符列表中的字符可以用-提供一个区间,以简化书写。 
(5) 大小写敏感 

下面就举几个例子说明一下: 


Dim a As String = "Northsnow.123" 
Dim b As String = "*.###" 
MsgBox(a Like b) 
'True 

a = "Northsnow.123" 
b = "[A-Z][a-z]*#" 
MsgBox(a Like b) 
'True 

a = "Northsnow.123" 
b = "[A-Z][a-z]*[a-z]" 
MsgBox(a Like b) 
'False 

a = "Northsnow.123" 
b = "[A-Z][a-z]*[0-9]" 
MsgBox(a Like b) 
'True 
4,其它的一些特殊操作符 

AndAlse ,OrElse 与 and 和 or 差不多,只是他们比 后者更智能,当前面的判断已经确定了返回值的时候,后面的表达式的值就不再计算了。 

TypeOf 返回当前对象的类型,每一个类都有一个getType方法与它很相似,据一个小例子如下: 

Dim a As New dog 
Dim b As New dog 
Dim c As Type 
c = a.GetType 
MsgBox(c.ToString) 
If TypeOf (a) Is vb1.Form7.dog Then 
MsgBox(True) 
End If 
'vb1.Form7+dog 
'True 
就说这么多吧。已有在应用中如果在总结出什么好的经验,再慢慢补充。 
内容及其使用 __________________________________________________________________ 目录内容及使用方法: \ch01~ch13 分别包含了书各章的主要程序文件,各章的子目录 Examp01~Examp0n分别存放了书该章所对应的各个 例程。读者可以使用 Visual Basic6.0 将它们分别打开, 分析其的源代码和各个控件的属性设置。 __________________________________________________________________ 注意: 本光盘上程序的运行和工程文件的打开都需要用户首先安装 Visual Basic6.0。 在使用源码程序之前,需要将光盘上的该程序的所有文件拷贝到硬盘上, 去掉其只读属性,方可打开、编译和调试。 对于6个特殊实例,给出如下调试说明:    (1)第1章的实例4和第11章的实例1,需要运行在Windows 9x或 Windows NT操作系统下,否则程序可能出错。    (2)在运行第8章的实例1时,需要用户计算机连接到网络,并与其 它机器建立了连接。否则,程序将会出现“WNetEnumResource错 误或没有发现映射驱动器”错误提示信息。    (3)在运行第12章的实例2、实例3和实例4时,需要用户计算机连接到 配置了DHCP服务器的网络。 __________________________________________________________________ 系统需求: 1.硬件配置 CPU :≥Pentium II 300 内 存:≥64M 显 卡:支持800×600×16位色以上显示 光 驱:≥24倍速 网 卡:10M/100M 2.运行环境 文 Windows 2000、9X、NT 4.0(带有 Service Pack 4 以上) _________________________________________________________________ 联系信息: 作者(技术支持) 姓 名:肖斌 电子邮件:weichen0792@sina.com 北京希望电子出版社 技术支持:(010)82675588-525 王守刚 地 址:北京市海淀区知春路甲63号卫星大厦三层 邮政地址:北京关村083信箱 邮 编:100080 网上书店:www.bhp.com.cn 电子邮件:lwm@hope.com.cn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值