黑马程序员技术交流社区

标题: 关于string与stringbuilder的区别 [打印本页]

作者: 中山郎    时间: 2012-10-9 15:40
标题: 关于string与stringbuilder的区别
String用于表示文本,StringBuilder表示值为可变字符序列的类似字符串的对象,之所以说是可变的,是因为通过追加、移除、替换或插入字符创建它以后,还可以对其进行修改。同时,在操作长度比较大的字符串的时候,使用StringBuilder会更方便。
下面举例说明其不同之处:
(1)定义方式不同
string str = Hello World
StringBuilder sb = new StringBuilder("Hello World");
(2)显示整个字符串的时候显示方式不同。
Console.WriteLine("{0}",str);
Console.WriteLine("{0}",sb.Tostring());
(3)功能不同
string可显示字符串的第n个元素,字符串长度、删除字符串首尾空格、复制、大小写、截取字符串
显示第n个元素:str[n-1];
字符串长度:str.length;
删除字符串首尾空格:str.Trim();
复制:str.Clone().Tostring();
大小写:str.Toupper();str.Tolower();
截取:str.substring(n1,n2); //n1,n2为截取字符串的首尾元素在原字符串中的位置
StringBuilder主要是用来修改字符串,如添加文本以及获取其最大的文本数量。
在末端添加文本:sb.Append("***"); //***为所添加的内容
获取最大文本数量:sb.MaxCapacity
using System;
using System.Collections.Generic;
using System.Text;
namespace StringTypeCommon
{
class Program
    {
static void Main(string[] args)
        {
string str = " Hello World";
            Console.WriteLine("显示{0}", str);
            Console.WriteLine("第一个{0}", str[0]);
            Console.WriteLine("第二个{0}", str[1]);
            Console.WriteLine("插入字符{0}",str.Insert(6," C#"));
            Console.WriteLine("字符串长度{0}", str.Length);
            Console.WriteLine("删除字符串空格{0}", str.Trim());
            Console.WriteLine("字符串复制{0}",str.Clone().ToString());
            Console.WriteLine("小写字符串{0}", str.ToLower());
            Console.WriteLine("大写字符串{0}", str.ToUpper());
            Console.WriteLine("截取部分字符串{0}", str.Substring(1, 6));
            StringBuilder sb = new StringBuilder("Hello World");
            Console.WriteLine("显示{0}", sb.ToString());
            Console.WriteLine("末端追加文本{0}", sb.Append("!!!"));
            Console.WriteLine("指定位置添加文本{0}", sb.Insert(6, "dear"));
            Console.WriteLine("最大文本数量{0}", sb.MaxCapacity);
Console.ReadLine();
        }
    }
}

作者: 许庭洲    时间: 2012-10-10 08:33
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2