VB.NET中应用 StringWriter

StringWriter 位于 System.IO 名称空间下。StringWriter 也可以代替String 类 来完成 字符串 拼接的 相关操作,效率较高。

一个简单的使用例子如下:
         Dim  swA  As   New  System.IO.StringWriter
        
Dim  arrStr()  As   String   =  { " Northsnow " " 塞北的雪 " " csdn " " 中国最大的开发者网络 " " http://blog.csdn.net/precipitant " }
        swA.WriteLine(arrStr(
0 ))
        swA.WriteLine(arrStr(
1 ))
        swA.WriteLine(
String .Format( " {0}-{1}-{2} " , arrStr( 2 ), arrStr( 3 ), arrStr( 4 )))
        
Me .TextBox1.AppendText(Environment.NewLine)
        
Me .TextBox1.AppendText(swA.ToString)
        
Me .TextBox1.AppendText(Environment.NewLine)


  此程序的输出结果为:

Northsnow
塞北的雪
csdn-中国最大的开发者网络-http://blog.csdn.net/precipitant


大家一定注意到了 本例中用的是 WriteLine 方法,其实
swA.WriteLine("Northsnow")
方法相当于
swA.Write("Northsnow")
swA.Write(swA.NewLine)

另外还可以将 信息写入 到 StringBuilder,一个叫完整的例子如下:

Dim  sbA  As   New  System.Text.StringBuilder
        sbA.AppendLine(
" 这是一个将 StringWriter 写入到 StringBuilder的例子: " )
        
' 这个StringWriter的数据写到指定的 StringBuilder中
         Dim  swA  As   New  System.IO.StringWriter(sbA)
        
Dim  arrStr()  As   String   =  { " Northsnow " " 塞北的雪 " " csdn " " 中国最大的开发者网络 " " http://blog.csdn.net/precipitant " }
        swA.WriteLine(arrStr(
0 ))
        swA.WriteLine(arrStr(
1 ))
        swA.WriteLine(
String .Format( " {0}-{1}-{2} " , arrStr( 2 ), arrStr( 3 ), arrStr( 4 )))
        
Me .TextBox1.AppendText(Environment.NewLine)
        
Me .TextBox1.AppendText(swA.ToString)
        
Me .TextBox1.AppendText(Environment.NewLine)

        
' 可以通过StringWriter 的 GetStringBuilder 方法返回一个 StringBuilder
         Dim  sbB  As  System.Text.StringBuilder  =  swA.GetStringBuilder()
        sbB.AppendLine(
" 在返回的 StringBuilder 中添加一行  " )
        
Me .TextBox1.AppendText(Environment.NewLine)
        
Me .TextBox1.AppendText(sbB.ToString)

        swA.Close()  
' 大家注意,此处将 StringWriter 关闭了,但是 后面依然可以用 StringBuilder

        sbA.AppendLine(
" 在 StringBuilder 中 新添加一行 " )
        
Me .TextBox1.AppendText(sbA.ToString)

 

此例子返回的结果为:


这是一个将 StringWriter 写入到 StringBuilder的例子:
Northsnow
塞北的雪
csdn-中国最大的开发者网络-http://blog.csdn.net/precipitant


这是一个将 StringWriter 写入到 StringBuilder的例子:
Northsnow
塞北的雪
csdn-中国最大的开发者网络-http://blog.csdn.net/precipitant
在返回的 StringBuilder 中添加一行
这是一个将 StringWriter 写入到 StringBuilder的例子:
Northsnow
塞北的雪
csdn-中国最大的开发者网络-http://blog.csdn.net/precipitant
在返回的 StringBuilder 中添加一行
在 StringBuilder 中 新添加一行

细心的朋友可能已经发现。sbA  和 sbB两个StringBuilder 一样了。也就是 sbA和sbB互相影响。对其中一个操作,另一个也跟着变。这是怎么回事呢?

其实此时他们是一个引用。也就是通过 GetStringBuilder返回的 StringBuilder 对象 其实就是对原来的 StringBuilder 对象的一个引用。

你可能感兴趣的:(vb.net)