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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lily15 中级黑马   /  2014-8-4 13:36  /  1158 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 lily15 于 2014-8-6 13:03 编辑

怎么使用StringBuilder?它在内存中是怎么存储的?

8 个回复

倒序浏览
本帖最后由 许庭洲 于 2014-8-4 19:38 编辑

1.程序员可以使用the System.Text.Stringbuilder类来创建一个StringBuilder对象,这样就可以避免创建新的对象实例,而只是修改原来的对象。
2. 两个字符串连接时候,未采用StringBuilder进行处理
   string MyString1="Please";
   string MyString2="enter your name";
   MyNewString=string.Concat(MyString1,MyString2);
3. 采用StringBuilder
   StringBuilder MyStringBuilder=new StringBuilder("Please");
   string MyNewString="enter your name";
   MyStringBuilder.Append(MyNewString);
回复 使用道具 举报
许庭洲 发表于 2014-8-4 14:06
1.程序员可以使用the System.Text.Stringbuilder类来创建一个StringBuilder对象,这样就可以避免创建新的对 ...

MyStringBuilder.Append(MyNewString);

上面MyStringBuilder的类型不是string 吗?应该不能这么用吧?
回复 使用道具 举报
许庭洲 发表于 2014-8-4 14:06
1.程序员可以使用the System.Text.Stringbuilder类来创建一个StringBuilder对象,这样就可以避免创建新的对 ...

没看懂,为什么可以两次定义同一个string MyString1?
回复 使用道具 举报
lily15 发表于 2014-8-4 17:36
MyStringBuilder.Append(MyNewString);

上面MyStringBuilder的类型不是string 吗?应该不能这么用吧? ...

MyStringBuilder 是StringBuilder类型的哦 。  StringBuilder MyStringBuilder=new StringBuilder("Please");
回复 使用道具 举报
Ken未来 发表于 2014-8-4 21:27
MyStringBuilder 是StringBuilder类型的哦 。  StringBuilder MyStringBuilder=new StringBuilder("Pleas ...

恩 谢谢
回复 使用道具 举报
string MyString1="Please";
    string MyString2="enter your name";
            //这里是传string1参数不是对string1定义
   String  MyNewString=string.Concat(MyString1,MyString2);
回复 使用道具 举报
    //把字符串传给了实例对象
   StringBuilder MyStringBuilder = new StringBuilder("Please");
   string MyNewString = "enter your name";
            //对象调用方法,再次传入字符串,并且连接起来
   MyStringBuilder.Append(MyNewString);
回复 使用道具 举报
我的这种理解不知道对不对,求正解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马