程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c# 字符串銜接運用“+”和string.format格式化兩種方式

c# 字符串銜接運用“+”和string.format格式化兩種方式

編輯:C#入門知識

c# 字符串銜接運用“+”和string.format格式化兩種方式。本站提示廣大學習愛好者:(c# 字符串銜接運用“+”和string.format格式化兩種方式)文章只能為提供參考,不一定能成為您想要的結果。以下是c# 字符串銜接運用“+”和string.format格式化兩種方式正文


參考文章:http://www.liangshunet.com/ca/201303/218815742.htm

字符串之間的銜接常用的兩種是:“+”銜接、string.format格式化銜接、StringBuilder 銜接

  1.什麼時分運用“+”銜接呢?

  待銜接的字符串在6個以下,可以運用 + 銜接

  運用 + 銜接最終會調用 String.Concat 辦法,當同時銜接幾個字符串時,並不是每銜接一個都分配一次內存,而是把幾個字符都作為 String.Concat 辦法的參數,只分配一次內存,如:

  string s = s1 + s2 + s3 + s4 + s5;

  最終會被編譯為:string.Concat(s1, s2, s3, s4, s5);

  經測試,當待銜接的字符串在6個以下時,運用 + 銜接,效率略高於 StringBuilder

  2、何時運用 StringBuilder  

  假如待銜接字符串在6個以上,運用 StringBuilder 比擬適宜。

  StringBuilder 只分配一次內存,假如第二次銜接內存缺乏,則修正內存大小;它每次默許分配16字節,假如內存缺乏,則擴展到32字節,假如依然缺乏,持續成倍擴展。

  運用 StringBuilder 的關鍵是分配好內存,假如頻繁的擴展內存,效率大打折扣,由於分配內存,時間開支絕對比擬大。

  假如事前能精確估量順序執行進程中所需求的內存,從而一次分配足內存,效率大大進步。假如不能精確估量,也要盡量增加內存的分配次數。

  

  3、字符格式(string.format)

  string.format 辦法,其實最終是調用 StringBuilder,原型如下:

  

 public static string Format(IFormatProvider provider, string format, params object[] args)
  {
    if ((format == null) || (args == null))
      {
      throw new ArgumentNullException((format == null) ? "format" : "args");
    }
    StringBuilder builder = new StringBuilder(format.Length + (args.Length * 8));
    builder.AppendFormat(provider, format, args);
    return builder.ToString();
  }

 

  假如在待銜接字符串比擬少的狀況下,並沒有什麼效率上的差異,在 StringBuilder 和 string.format 之間可以依據方便性或習氣自在選擇。假如銜接的字符串很多, StringBuilder 的效率自然要高,並且運用 string.format 也不太方便。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved