Visual Basic.NET+SQL Server全程指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实例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

下面以实例说明比较运算符的使用。