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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小石 黑马帝   /  2011-11-8 20:02  /  5806 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小石 于 2011-11-21 08:48 编辑

别弄抽象的 看不懂 大神给个例子吧:lol

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

6 个回复

倒序浏览
            StringBuilder strBuilder = new StringBuilder();
            strBuilder.Append('1');
            strBuilder.Append("=");
            strBuilder.Append(2);
            strBuilder.Append("那是");
            strBuilder.Append(true);
            strBuilder.Append("\n");
            strBuilder.Append(new char[]{'a','b'});
            strBuilder.Append("-这个东西是字符数组\n");
            strBuilder.Append(new Object());
            strBuilder.Append("--你看给它整一个Object对象都行.....\n");
            strBuilder.Append("你想要更全更详细更好更多的,你看MSDN吧");
            strBuilder.Append("请看以下链接。。。\n");
            strBuilder.Append("ms-help://MS.MSDNQTR.v90.chs/fxref_mscorlib/html/aa02f9d8-ff58-e09d-fa24-4ead7f57befc.htm\n");

            strBuilder.Append("^_^");
            strBuilder.Append("^_^");
            Console.WriteLine(strBuilder);

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。StringBuilder 对象是动态对象,允许扩充它所封装的字符串中字符的数量,可以为它可容纳的最大字符数指定一个值。此值称为该对象的容量,不应将它与当前 StringBuilder 对象容纳的字符串长度混淆在一起。
下表列出了可以用来修改 StringBuilder 的内容的方法。
StringBuilder.Append 将信息追加到当前 StringBuilder 的结尾。
StringBuilder.AppendFormat 用带格式文本替换字符串中传递的格式说明符。
StringBuilder.Insert 将字符串或对象插入到当前 StringBuilder 对象的指定索引处。
StringBuilder.Remove 从当前 StringBuilder 对象中移除指定数量的字符。
StringBuilder.Replace 替换指定索引处的指定字符。

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
StringBuilder str = new StringBuilder();

都是先 new 一个 StringBuilder 对象,

  strBuilder.Append("你想要追加的字符串");

用的时候直接用你new 的对象 str  即可,

这个有什么很难懂的东西吗?

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace StringBuild_append_01
{
    class Program
    {
        static void Main(string[] args)
        {
            StringBuilder strBuilder1 = new StringBuilder();
          //  strBuilder1 = "hello world";
            //Console.WriteLine(strBuilder1.Capacity);
            //Console.WriteLine(strBuilder1.Length);
            //Console.WriteLine(strBuilder1.MaxCapacity);
            //StringBuilder strBuilder2 = new StringBuilder(25);
            //Console.WriteLine(strBuilder2.Capacity);
            //Console.WriteLine(strBuilder2.Length);
            //Console.WriteLine(strBuilder2.MaxCapacity);
            StringBuilder strBuilder3 = new StringBuilder(25);
            //Console.WriteLine(strBuilder3.Capacity);
            //Console.WriteLine(strBuilder3.Length);
            //Console.WriteLine(strBuilder3.MaxCapacity);
        //    thirdStringBuilder = "hello world";
            strBuilder3.Append("hello");
            Console.WriteLine(strBuilder3);
            strBuilder3.Append(" world!");
            Console.WriteLine(strBuilder3);
            strBuilder3.AppendFormat("今天的日期是:{0:D}", System.DateTime.Now);
            Console.WriteLine(strBuilder3);
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();

        }
    }
}

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
StringBuilder表示可变字符串
String表示不可变字符串
需要频繁的使用字符串拼接操作的时候一般用StringBuilder类

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
毕山山 黑马帝 2011-11-16 16:56:08
7#
StringBuilder是高效的字符串操作 连接的时候不必开辟新的内存.
它有如下基本方法
sb.Append();
sb.ToString();
sb.Insert();
sb.Replace();
案例:使用程序拼html
StringBuilder sb=new StringBuilder
sb.AppendLine("<html>")
sb.AppendLine("\t<head>")
sb.AppendLine("\t</head>")
sb.AppendLine("\t<body>")
sb.AppendLine("\t\thello world!")
sb.AppendLine("\t</body>")
sb.AppendLine("</html>")

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马