.NET 4.0 New Feature - StringBuilder.Clear

时间:2019-09-13
本文章向大家介绍.NET 4.0 New Feature - StringBuilder.Clear,主要包括.NET 4.0 New Feature - StringBuilder.Clear使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

.NET 4.0 New Feature - StringBuilder.Clear


以往在使用StringBuilder时,若要重复使用现有的StringBuilder对象,必需要将StringBuilder的内容清空,然而在StringBuilder类中并未附有直觉的方法可供直接叫用,因此我们可能需要透过StringBuilder.Remove方法来清空内容。

Dim str = New StringBuilder()
...
str.Remove(0, str.Length)
...

或是透过把StringBuilder.Length设为0的方式来清除内容。

Dim str = New StringBuilder()
...
str.Length = 0
...

 

但这样的做法总是有点不直觉,撰写上也不太方便,因此在.NET 4.0中StringBuilder类多加了Clear方法可以直接叫用,该方法把StringBuilder.Length设为0的方式给包装了起来,直接叫用就可以清除掉StringBuilder中的内容。

Dim str = New StringBuilder()
...
str.Clear()
...

这边将三种方法做个测试比较,测试程序如下:

Imports System.Text

Module Module1

    Sub Main()
        Dim str As New StringBuilder
        Dim size As Integer = 100000000

        Dim sw As New Stopwatch

        '预先编译降低测试误差
        AppendData(str, size)
        ClearData1(str)
        ClearData2(str)
        ClearData3(str)

        '开始测试
        AppendData(str, size)
        Console.WriteLine("Test Remove...")
        sw.Restart()
        ClearData1(str)
        Console.WriteLine(sw.ElapsedMilliseconds)

        AppendData(str, size)
        Console.WriteLine("Test Length...")
        sw.Restart()
        ClearData2(str)
        Console.WriteLine(sw.ElapsedMilliseconds)

        AppendData(str, size)
        Console.WriteLine("Test Clear...")
        sw.Restart()
        ClearData3(str)
        Console.WriteLine(sw.ElapsedMilliseconds)
    End Sub

    Private Sub AppendData(ByVal str As StringBuilder, ByVal size As Integer)
        str.Append(New String("0", size))
    End Sub

    Private Sub ClearData1(ByVal str As StringBuilder)
        str.Remove(0, str.Length)
    End Sub

    Private Sub ClearData2(ByVal str As StringBuilder)
        str.Length = 0
    End Sub

    Private Sub ClearData3(ByVal str As StringBuilder)
        str.Clear()
    End Sub

End Module

感觉速度上是没有太大的差异,挑自己顺手的方法写就好了。

Link

  • StringBuilder.Clear 方法

原文:大专栏  .NET 4.0 New Feature - StringBuilder.Clear


原文地址:https://www.cnblogs.com/chinatrump/p/11516384.html