Chinaunix首页 | 论坛 | 博客
  • 博客访问: 744012
  • 博文数量: 769
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:37
文章分类

全部博文(769)

文章存档

2011年(1)

2008年(768)

我的朋友

分类:

2008-10-15 16:38:39

  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

  就说这么多吧。已有在应用中如果在总结出什么好的经验,再慢慢补充。

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

【责编:Luzi】

--------------------next---------------------

阅读(393) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~