C#中string和StringBuilder的区别

C#中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(16
));
            
            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();
        }
    }
}

posted @ 2013-03-26 15:16  下里巴人or知己  阅读(179)  评论(0)    收藏  举报