StringBuild的是个动态对象,可直接拼加上字符串;而string对象的步骤:先初始化对象并赋值了,而后在拼加字符串时,先要创建需要拼加的字符串,然后再拼加,所以这就是StirngBuild远比String效率高的原因!

(一)String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。

如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。StringBuilder 运行速度听说是string 200倍。

  通过用一个重载的构造函数方法初始化变量,可以创建 StringBuilder 类的新实例,正如以下示例中所阐释的那样。

StringBuilder MyStringBuilder = new StringBuilder("Hello World!");

StringBuilder 对象设置容量和长度
   StringBuilder 对象是动态对象,允许扩充它所封装的字符串中字符的数量,可以为它可容纳的最大字符数指定一个值。
StringBuilder MyStringBuilder = new StringBuilder("Hello World!", 25);
另外,可以使用读/写 Capacity 属性来设置对象的最大长度。以下代码示例使用 Capacity 属性来定义对象的最大长度。
MyStringBuilder.Capacity = 25;

下面列出此类的几个常用方法:

static void Main(string[] args)
{
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Append(" My name is haoge !"); //添加数据添加到原有字符串末尾。
//MyStringBuilder.Capacity =100; //写入最大容量;
//MyStringBuilder.Length = 0; //清空数据
//MyStringBuilder.Remove(0,MyStringBuilder.Length);//清空数据
MyStringBuilder.Insert(,""); // 第十八个字符后面插入222222
MyStringBuilder.Replace("is","are"); //将is替换为are。
Console.WriteLine(MyStringBuilder); int MyInt =;
StringBuilder MyStringBuilder1 = new StringBuilder("Your total is ");
MyStringBuilder1.AppendFormat("{0:C} ", MyInt);
Console.WriteLine(MyStringBuilder1);
Console.ReadKey();

C# 之StringBulider简单用法的更多相关文章

  1. StringBulider简单用法

    StringBuild的是个动态对象,可直接拼加上字符串:而string对象的步骤:先初始化对象并赋值了,而后在拼加字符串时,先要创建需要拼加的字符串,然后再拼加,所以这就是StirngBuild远比 ...

  2. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  3. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  4. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

  5. [转]Valgrind简单用法

    [转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...

  6. Oracle的substr函数简单用法

    substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 subst ...

  7. Ext.Net学习笔记19:Ext.Net FormPanel 简单用法

    Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...

  8. TransactionScope简单用法

    记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...

  9. WPF之Treeview控件简单用法

    TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...

随机推荐

  1. 在Ubuntu16.04里面安装Gogland!

    一,安装 把linux版本的Gogland拷贝到Ubuntu16.04里面,随后在想要存放它的地方解压缩,这样就完成了安装! 二,让Gogland可以快速启动 linux版本的Gogland的启动是用 ...

  2. 报错:'utf-8' codec can't decode byte 0xb0 in position 0: invalid start byte

    pandas的read_csv读取一个csv表格,报错. 解决方法:用editplus打开表格,改变编码格式为utf-8,保存,重新读取,通过.

  3. IIS7的网站通过https访问提示ssl_error_rx_record_too_long

    IIS7的网站通过https访问,提示ssl_error_rx_record_too_long,如下图所示: 解决办法: 一.导入服务器的SSL证书至IIS 1.打开IIS,找到服务器证书 2.导入本 ...

  4. HTTP 缓存机制详解

    从这里看的 http://mp.weixin.qq.com/s/8UXEMQBkV9hHwtu9R7mV5w

  5. git 命令摘录

    回滚 n 个 commit (增加了revert commit) git revert -n commit_id 回滚到指定的commit_id(不增加commit,回滚的commit_id被删除) ...

  6. AssertJ断言系列<一>

    1 - Get AssertJ Core assertions Maven的pom.xml加入如下配置: <dependency> <groupId>org.assertj&l ...

  7. 2016级算法期末上机-F.中等·AlvinZH's Fight with DDLs II

    1118 AlvinZH's Fight with DDLs II 思路 中等题,贪心. 理解题意,每次攻击中,可以使某个敌人生命值-1,自己生命值减去∑存活敌人总攻击力. 贪心思想,血量少攻击高的要 ...

  8. django文章收藏

    http://www.cnblogs.com/suoning/p/5818869.html

  9. 【面向对象】【prototype&&__proto__&&实例化对象三者之间的关系】

    1.构造函数 a.什么是构造函数? 解释:通过关键字new 创建的函数叫做构造函数 作用:用来创建一个对象 废话少说直接上代码,首先我们还是创建一个构造函数人类 然后我们在创建两个实例,一个凡尘 一个 ...

  10. java内存的分配策略

    1.概述 本文是<深入理解java虚拟机>(周志明著)3.6节的笔记整理,文章结构也与书上相同,讲述的是几条最普遍的内存分配策略. 2.对象优先在Eden分配 ** 大多数情况下,对象在新 ...