91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#字符串的拼接方法

發布時間:2021-09-13 18:54:12 來源:億速云 閱讀:175 作者:chen 欄目:開發技術

本篇內容主要講解“C#字符串的拼接方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C#字符串的拼接方法”吧!

其一、直接通過+拼接

  直接通過+拼接是我們在代碼中最常見的一種方式,下面以一個簡單的代碼段來分析分析

  1stringstr="1";

  2

  3str=str+"2";

  第一段代碼,首先分配了一個內存空間來存儲str變量,其值為“1”

  第二段代碼,重新分配了一個新的內存空間來存儲“12”,并將str指向新地址

  通過分析,其實我們不難發現,兩端就簡單的代碼,就會有兩次內存地址操作,隨著拼接字符串的個數地址,分配內存地址的次數也遞增,當幾個簡單的字符串通過該方式拼接時,其實我們還是感覺不到性能的影響,但是當字符串數量大時,你都會有感覺了,那樣不僅僅造成內存的浪費,還直接影響性能。

  所以在實際開發工程中,通過+拼接字符串比較常見,但是如果只是見到這種方式也就不那么友好了,既然不友好,那么顯然就會有比較友好的方式啦,下面我們就分析分析通過StringBuilder來實現字符串的拼接。

其二、通過StringBuilder拼接字符串

  StringBuilder其實內部相當于是維護的一個字符數組,是一個可以動態增加自身數據長度,其默認長度為16,當存儲的字符串超出其長度是,會自動擴容2倍長度。

  哈哈,說到這兒,估計你看出了問題,那就是超出長度自動擴容,自動擴容是不是也需要犧牲性能,當然在幾次擴容你還感覺不到性能的影響,但是如果詞數多了,你就會感覺很明顯,這也是對StringBuilder的一些使用技巧。

  我們去看不同小伙伴的代碼,你就會發現,技術老鳥,在初始化StringBuilder的時候會根據預估將要存儲的字符串大小,給StringBuilder初始化一個長度,這也就是細節上的差距體現。

  說了半天的廢話,是不是要來的實際的代碼來證明說的不是廢話呢?不急不急,在文章最后,我會專門寫測試代碼對比分析的。

其三、string.Format不陌生吧

  對于一些格式的數據拼接填充,string.Format也是經常看見的,他的一個很大好處就是,看上去比較清晰

  其實我們看過string的底層實現我們會發現,其底層本質還是StringBuilder來實現的

其四、$方式拼接字符串

  C#6.0出現了$方式拼接字符串,其實簡單說就是string.Format簡化操作版,string.Format如果拼接的字符串太多,估計自己都懵逼的分不清對應關系了,不知道你們遇到過沒有,反正我原來是遇到過的。$就很好的規避了該問題

到此,相信大家對“C#字符串的拼接方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潍坊市| 天门市| 通辽市| 蓬溪县| 泾源县| 巴马| 通渭县| 永平县| 石门县| 吉林省| 论坛| 沈丘县| 闻喜县| 合川市| 滨州市| 卓尼县| 鞍山市| 镇雄县| 新绛县| 马山县| 高台县| 安庆市| 通城县| 衡南县| 贡觉县| 华亭县| 衡水市| 宿州市| 武陟县| 吉安市| 永泰县| 海口市| 卫辉市| 集贤县| 宁国市| 张家川| 买车| 曲靖市| 昭通市| 望江县| 西丰县|