实例2-10 字符串连接
该实例实现步骤如下。
1 创建窗体
在本章的项目chapter2中,右键单击解决方案资源管理器中项目名下面对应节的文件夹“运算符”,在弹出菜单中选择“添加”→“Windows窗体”菜单命令,在弹出的对话框中输入窗体名StringFrm,单击“添加”按钮完成窗体的创建。
2 添加控件
在窗体上添加4个textbox控件用于输入和显示信息。
添加三个label控件用于相关内容说明。
添加一个Button控件到窗体上,用于手动执行连接两个字符串。
3 添加代码
在窗体类中添加代码2-14中的代码。
代码2-14 StringFrm.vb
01 Public Class StringFrm 02 Dim str1, str2, str3, str4 As String 03 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 04 str3 = str1 + str2 05 str4 = str1 & str2 06 Me.TextBox3.Text = str3 07 Me.TextBox4.Text = str4 08 End Sub 09 Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox3.TextChanged, TextBox4.TextChanged 10 str1 = Me.TextBox1.Text 11 End Sub 12 Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged 13 str2 = Me.TextBox2.Text 14 End Sub 15 End Class
代码2-14的执行步骤如下:
① 第4行代码将用户输入的两个字符串用“+”连接起来;
② 第5行代码将用户输入的两个字符串用“&”连接起来;
③ 第6行代码将用“+”连接的字符串显示在窗体的textbox3控件上;
④ 第7行代码将用“&”连接的字符串显示在窗体的textbox4控件上;
⑤ 第10行代码用来获得用户在textbox1中输入的字符串并赋给字符串变量str1;
⑥ 第13行代码用来获得用户在textbox2中输入的字符串并赋给字符串变量str2。
4 运行结果
按F5键,运行程序,结果如图2-15所示。
图2-15 实例2-10运行结果
但是当所要操作的数据不都是字符串时,结果就不同了。将上面代码中的变量str1改为整型,如下:
Dim str2, str3, str4 As String Dim str1 As Integer
则运行结果如图2-16所示,用“+”连接和用“&”连接有着明显的不同。
图2-16 修改变量类型后,实例2-10运行结果
“&”连接符和“+”连接符有相同之处也有不同之处,“&”不管连接数字还是字符串,结果都是字符串,运算过程都是字符串的连接;而“+”连接符连接数字的字符串就进行加法运算,也就是不管连接的是字符还是数字,只要可以相加就自动做加法运算。
2.3.4 比较运算符
比较运算符是将两个或两个以上的表达式进行比较的运算符,结果是Boolean类型的True或False。
比较运算符包括=(等于)、<>(不等于)、<(小于)、<=(小于等于)、>(大于)和>=(大于等于)。这些运算符对于数值、字符、日期表达式的比较都是有效的,具体比较运算符及相关内容如表2-7所示。
表2-7 比较运算符和比较表达式
另外,字符串之间也可以进行比较,但与数字的比较有点不同。当比较“A”与“a”时,编译器把它们转换到各自的ASCII值,相当于基于ASCII数值顺序的比较。“A”的ASCII值为65,“a”的ASCII值为97,所以“A”小于“a”。
下面介绍一下Is运算符和Like运算符,其他的比较简单,在这就不多做说明。
1.Is运算符
Is运算符是比较两个对象类型,并且测试它们是否相同,返回一个布尔值。用法如下:
Result = objectX Is objectY
当对象引用了同样的对象,则返回True值;若有两个相同类型的对象,但是它们没有引用同样的对象,即该对象不是从那个对象创建的则结果总是False。示例如下:
Dim x As System.String Dim Y As New Object() Dim Z As Object Z = Y Console.Write(Z Is Y) 'return True Console.Write(x Is Y) 'return False
2.Like运算符
Like运算符是基于字符串和一个模式的比较,返回一个布尔值。如果模式与字符串匹配,则返回True,否则返回False。用法如下:
Result=String Like Pattern
表2-8列出了字符、数字以及通配符匹配的模式匹配语法。
表2-8 模式匹配语法
示例如下:
Console.WriteLine("False" Like "F*") 'return True Console.WriteLine("b" Like "B") 'return False Console.WriteLine("EXP" Like "E[ADFVX]?") 'return True
下面以实例说明比较运算符的使用。