A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 袁晓俊 于 2014-5-10 22:29 编辑

求指点:StringBuilder 类的讲解,代码举例有注释,感谢,不要百度哦。

7 个回复

倒序浏览
这东西网上一搜一大堆,msdn上也有,很容易就能找到的。

点评

我知道啊,不过互动的话都得技术分涩。O(∩_∩)O~  发表于 2014-5-10 22:29
回复 使用道具 举报
这是我自己总结的关于StringBuilder的笔记:
System.Text.StringBuilder 和 System.String 很相似,它们都定义了很多用来替换或格式化片段的方法。
System.Text.StringBuilder 的独特之处在于,当我们调用这个类型的成员时,都是直接修改对象内部的字符数据(因此更高效),而不是获得修改后格式的数据副本。
另外,string支持深复制,而StringBuilder支持的是浅复制。
如果我们正在构建使用大量文本数据的应用程序(如字处理程序),应该使用 System.Text.StringBuilder 而不是 System.String
  1. /// <summary>
  2.         /// 使用System.Text.StringBuilder创建字符串
  3.         /// </summary>
  4.         private static void FunWithStringBuilder()
  5.         {
  6.             Console.WriteLine("=> Using the StringBuilder:");

  7.             // 默认情况下,StringBuilder的实例只能保持16个字符以下的字符串,
  8.             // 如果追加的字符数超过规定的限制,StringBuilder的实例会自动将它的数据复制到新的实例中,并根据规定的限制来扩大缓冲区
  9.             // 我们可以向内部缓冲区追加数据,并且随意替换(或移除)字符

  10.             // 创建 StringBuilder实例
  11.             StringBuilder sb = new StringBuilder("****** Fantastic Games ******");

  12.             //编译错误!无法将string隐式转换为System.Text.StringBuilder。
  13.             //StringBuilder sb3 = "****** Fantastic Games ******";

  14.             // 在 StringBuilder实例追加指定字符串的副本
  15.             sb.Append("\n");
  16.             sb.AppendLine("Half Life");
  17.             sb.AppendLine("Morrowind");
  18.             sb.AppendLine("Deus Ex " + " 2");
  19.             sb.AppendLine("System Shock");
  20.             Console.WriteLine(sb);

  21.             sb.Replace("2", "Invisible War"); // 把sb中的"2"替换为"Invisible War"
  22.             Console.WriteLine(sb);
  23.             Console.WriteLine("sb has {0} chars.", sb.Length);
  24.             
  25.             // 通过其他构造函数来创建一个初始大小为256的StringBuilder
  26.             StringBuilder sb2 = new StringBuilder("****** Fantastic Games ******", 256);
  27.         }
复制代码


回复 使用道具 举报
有时候也需要自己动手Google、百度下的

点评

呵呵呵,这里多提问和解答能相互交流和获得积分等诸多好处,当然百度我会的啊。呵呵  发表于 2014-5-10 20:27
回复 使用道具 举报
我的理解是StringBuilder类就是比String更方便快捷地 操作 节省内存
回复 使用道具 举报
感谢,,,,,,,,,,,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马