webform1.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="work082.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>String类和StringBuilder类的区别</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>

webform1.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace work082
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //如果堆中存在字符串abd,则a=adb,否则a=null
            string a = string.IsInterned("abd");
            string b = new System.Text.StringBuilder().Append("as").Append("df").ToString();

            if (string.IsNullOrEmpty(a))
            {
                Response.Write(a + "不在拘留池中<br>");
            }
            else
            {
                Response.Write(a + "在拘留池中<br>");
            }

            if (string.IsNullOrEmpty(b))
            {
                Response.Write(b + "不在拘留池中<br>");
            }
            else
            {
                Response.Write(b + "在拘留池中");
            }

            Response.Write("<hr>");

            int count = 9000;
            TimeSpan ts1 = StringConcat(count);
            TimeSpan ts2 = StringBuilderConcat(count);
            Response.Write(string.Format("使用string来连接{0}次耗时{1}毫秒。<br>",count.ToString(),ts1.TotalMilliseconds));
            Response.Write(string.Format("使用StringBuilder来连接{0}次耗时{1}毫秒。<br>", count.ToString(), ts2.TotalMilliseconds));

        }

        /// <summary>
        /// 用String对象来连接字符串
        /// </summary>
        /// <param name="count"></param>
        /// <returns></returns>
        public static TimeSpan StringConcat(int count)
        {
            DateTime start = DateTime.Now;
            string text = string.Empty;
            for (int i = 0; i < count; i++)
            {
                text = text + "0" + i;
            }
            DateTime end = DateTime.Now;
            return end - start;
        }

        /// <summary>
        /// 用StringBuilder对象连接字符串
        /// </summary>
        /// <param name="count"></param>
        /// <returns></returns>
        public static TimeSpan StringBuilderConcat(int count)
        {
            DateTime start = DateTime.Now;
            System.Text.StringBuilder text = new System.Text.StringBuilder();
            for (int i = 0; i < count; i++)
            {
                text.Append("0" + i);
            }
            DateTime end = DateTime.Now;
            return end - start;

        }
    }
}