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

首頁 > 編程 > C# > 正文

string與stringbuilder兩者的區別

2020-01-24 00:11:16
字體:
來源:轉載
供稿:網友

String 對象是不可改變的。每次使用 System.String 類中的方法之一時,都要在內存中創建一個新的字符串對象,這就需要為該新對象分配新的空間。 

StringBuilder 對象是動態對象,允許擴充它所封裝的字符串中字符的數量,但是您可以為它可容納的最大字符數指定一個值,當修改 StringBuilder 時,在達到容量之前,它不會為其自己重新分配空間。當達到容量時,將自動分配新的空間且容量翻倍。可以使用重載的構造函數之一來指定 StringBuilder 類的容量。

例如: StringBuilder hr = new StringBuilder(); hr.Append("a")他不會頻繁申請內存空間,他會自動向后擴展。

兩者的區別:

1. string 對象時恒定不變的,stringBuider對象表示的字符串是可變的。stringBuilder是.net提供的動態創建string的高效方式,以克服string對象恒定性帶來的性能影響。

2. 對于簡單的字符串連接操作,在性能上stringBuilder并不一定總是優于string。因為stringBuider對象創建代價較大,在字符串目標連接較少的情況下,過度濫用stringBuilder會導致性能的浪費,只有大量的或者無法預知次數的字符串操作,才考慮stringBuilder來實現。事實上,一般連接次數設置100次以內,根本看不出兩者的性能差別。

3. 當修改字符串信息時,此時不許創建對象,可以使用stringBuilder對象。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潜山县| 东丰县| 施甸县| 上林县| 冕宁县| 峨山| 茶陵县| 枞阳县| 息烽县| 淳安县| 黑河市| 偃师市| 巢湖市| 东山县| 霍山县| 宝清县| 寿阳县| 双江| 寿宁县| 丘北县| 武城县| 芦山县| 正镶白旗| 鹤庆县| 伽师县| 昌平区| 东海县| 体育| 山阴县| 繁峙县| 布尔津县| 大洼县| 如东县| 册亨县| 全州县| 罗城| 托克托县| 隆昌县| 西昌市| 宜宾市| 砚山县|