字符串处理是程序设计是最常见的操作,一般来说,掌握对字符串的处理也是开始学习一种新语言来的基础,对后续的深入学习是非常重要的,这也是为什么把对字符串处理放在本系列讲座最前面的原因。由于字符串处理所涉及的内容比较多,下面就选择Visual Basic .Net在处理字符串时的一些常见的、典型的问题加以介绍。
一.用String关键字、String类和StringBuilder类创建字符串: Visual Basic .Net保留了很多早期Visual Basic的关键字、运算符和函数。但一般来说这些关键字、运算符和函数在.Net框架提供的.Net FrameWork SDK中又能够找到可以替代的类、方法等。在Visual Basic .Net创建一个字符串可有三种方式,具体如下:
1. 使用关键字String来定义字符串变量,String关键字在早期的Visual Basic中也存在。具体的操作如下:
Dim sStr1 As String '定义String变量 sStr1 = " Hello World " '初始化此变量 |
2. 使用String类来创建字符串,String类位于命名空间System中,具体如下:
Dim sStr1 As System.String SStr1 = " Hello World " |
3. 使用StringBuilder类来创建字符串,StringBuilder类位于命名空间System.Text,具体如下:
Dim sStr1 As System.Text.StringBuilder sStr1 = New System.Text.StringBuilder ( "Hello World" ) |
下面就来看看上述三种Visual Basic .Net中创建字符串的方法的区别:第一种方法和第二种方法所得到的结果是一样的。都是定义一个不可变字符串。但第三种方法却是定义一个可变字符串。可变字符串和不可变字符串的区别,将在下面的内容中深入探讨。通过上面的三种不同的定义方法可见, Visual Basic .Net中不仅保留了原Visual Basic的特点,同时更可见,Visual Basic .Net是一个真正面向对象语言,因为第二种创建字符串的方法,其实是类经过实例化得到的一个实例。理解了这一点对掌握在Visual Basic .Net中处理字符串是非常有帮助的。
二.Visual Basic .Net中的可变字符串和不可变字符串: 通过上面内容中第一种和第二种方法创建的字符串一般就被称之为“不可变的”,这是由于一旦创建它就无法修改它的值。看似能修改String的方法实际上只是返回一个包含修改内容的新System.String类的实例。而第三种方法创建的字符串,就被称为“可变”字符串,此字符串的表示值为可变字符序列的类似字符串。之所以说其是可变的,是因为StringBuilder类实例的追加、移除、替换或插入字符方法可以对它进行修改。这些具体的方法将在下面内容种加以介绍。