stringbuilder是用来构造一个字符串的;而String是字符串类型,C#支持两种形式的字符串。
案例:输出StringBuilder
和String
两种字符
案例说明
String虽然是一个引用类型,但在赋值操作时会产生一个新的对象,而StringBuilder则不会。所以在大量字符串拼接或频繁对某一字符串进行操作时,最好使用StringBuilder,不要使用String。
实现过程
using System;
using System.Collections.Generic;
using System.Text;
namespace Example22
{
class Program
{
static void Main(string[] args)
{
const int cycle = 100000;
long vTickCount = Environment.TickCount;
String str = null;
for (int i = 0; i < cycle; i++)
str += i.ToString();
Console.WriteLine("String: {0} MSEL", Environment.TickCount - vTickCount);
vTickCount = Environment.TickCount;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < cycle; i++)
sb.Append(i);
Console.WriteLine("StringBuilder: {0} MSEL", Environment.TickCount - vTickCount);
Console.ReadLine();
}
}
}
执行结果:
String: 102047 MSEL
StringBuilder: 46 MSEL