评论

收藏

[R语言] asp.net代码练习 work082 String类和StringBuilder类的区别

编程语言 编程语言 发布于:2021-12-17 20:50 | 阅读数:603 | 评论:0

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;
    }
  }
}

关注下面的标签,发现更多相似文章