.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
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 漫画:设计模式之 “外观模式”
- 使用 Zotero 在 Markdown 中优雅处理参考文献
- Mybatis plus自动生成业务代码
- 功能强大的CD工具 - flagger
- Swift defer
- MySQL 最佳实践:CPU 100%,MySQL 到底在干什么
- 【译】Flutter 1.20 发布
- 算法面试题:一个List,要求删除里面的男生,不用Linq和Lamda,求各种解,并说明优缺点!
- Angular CLI创建的项目文件用途一栏
- [888]python内置函数vars()|dir()|locals()
- Mdnice,一种记录知识的新方式
- [887]python中@classmethod和@staticmethod
- leetcode每日一题-99. 恢复二叉搜索树
- Java 两个经纬度获取方位
- 使用Python实现基本初等函数可视化