国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

深入理解StringBuilder的使用方法

2019-10-29 21:28:18
字體:
來源:轉載
供稿:網友
下面小編就為大家帶來一篇深入理解StringBuilder的使用方法。小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
 

今天用到了StringBuilder來拼接查詢語句,發現這個真好用,決定做個小結。

百度一個StringBuilder的定義:String 對象是不可改變的。每次使用 System.String 類中的方法之一時,都要在內存中創建一個新的字符串對象,這就需要為該新對象分配新的空間。在需要對字符串執行重復修改的情況下,與創建新的 String 對象相關的系統開銷可能會非常昂貴。如果要修改字符串而不創建新的對象,則可以使用 System.Text.StringBuilder 類。

主要是StringBuilder的Append()方法和Capacity屬性。

注意當Capacity小于Length時,Capacity是以2倍的方式來擴充的。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace StringBuilder的使用{  class Program  {    static void Main(string[] args)    {      StringBuilder s = new StringBuilder();      long dataStart = DateTime.Now.Ticks;      for (int i = 0; i < 1000; i++)      {        s.Append('a', i);      }      long dataEnd = DateTime.Now.Ticks;      Console.WriteLine(s.Capacity);      Console.WriteLine("用時:{0}", (dataEnd - dataStart) / 100000.0);      dataStart = DateTime.Now.Ticks;      for (int i = 0; i < 1000; i++)      {        s.Append('a', i);        if (s.Capacity < s.Length)        {          s.Capacity += 8;        }      }      dataEnd = DateTime.Now.Ticks;      Console.WriteLine("用時:{0}", (dataEnd - dataStart) / 100000.0);      Console.Read();    }  }}

輸出結果:

StringBuilder

以上這篇深入理解StringBuilder的使用方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。



注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 炎陵县| 屏南县| 大宁县| 永德县| 阿拉善右旗| 故城县| 剑河县| 中阳县| 宁晋县| 闵行区| 肇庆市| 毕节市| 崇信县| 内丘县| 南木林县| 故城县| 岫岩| 福贡县| 洛阳市| 大名县| 马山县| 通河县| 垫江县| 布尔津县| 荣昌县| 内江市| 白玉县| 威远县| 广东省| 芒康县| 合江县| 南汇区| 定兴县| 大英县| 兴山县| 南安市| 凉山| 西丰县| 武川县| 沽源县| 遵化市|