C#中string,String,StringBuilder的學習筆記

關於C#中的 string ,String,StringBuilder

初學C#時,面對很多語法,尤其是在學習C#之前接觸並做過幾個Java項目的時候,覺得有些語法和Java相似,有些也不盡相同,但大體上還是有些相似,且C#作爲真正入門編程語言,面對剛接觸的第一段代碼,我便有很多疑問,老師告訴我,他不會告訴我太多,只能讓我在不斷寫的過程中慢慢理解,所以在此之前,因爲自己的無知造成誤會,以及對他人造成誤導,深感抱歉,與此同時,我也明白了,技術的嚴謹性,不容我們馬虎,人云亦云,一定要認真鑽研對待。

1.string與String

string通俗來說,和Java裏一樣,定義字符串變量的,

string是c#中的類

String,對於我當前接觸的項目,代碼來說,接觸的比較少,前期接觸過一次。

String是Framework的類,

1.)C# string 映射爲 Framework的 String。如果用string,編譯器會把它編譯成String,所以如果直接用String就可以讓編譯器少做一點點工作。 如果使用C#,建議使用string,比較符合規範 

2.)string是關鍵字,String不是,也就是說string不能作爲類、結構、枚舉、字段、變量、方法、屬性的名稱,而String可以

3.)string 關鍵字是 String 的別名,String 和 string 是等效的

4.)String類提供了安全創建、操作和比較字符串的多種方法

5.)字符串對象是“不可變的” :它們在創建後無法更改。 看起來是在修改字符串的所有 String 方法和 C# 運算符實際上都是在新的字符串對象中返回結果。

2.StringBuilder與Sting

字符串一旦創建就不可修改大小,所以對字符串添加或刪除操作比較頻繁的話。那就不要用String而用StringBuilder。

String一旦賦值或實例化後就不可更改,如果賦予新值將會重新開闢內存地址進行存儲。

所以我們在聲明結果集,sql語句時,用StringBuilder。

 StringBuilder 類創建字符串緩衝區,用於在程序執行多個字符串操控時提升性能。 使用 StringBuilder 字符串,還可以重新分配各個字符,而內置字符串數據類型則不支持這樣做。

因此:當需要進行頻繁修改字符串的操作時先建立StringBuffer類對象進行操作,將最後結果轉化成String類對象返回,這樣效率會高很多。如: MySqlHelp.GetDataSet(connStr, CommandType.Text, sqlCmd.ToString();

3.關於stringBuffer

C#有類似JavastringBuffer的System.Text.StringBuilder 類型。

可參照網站https://docs.microsoft.com/zh-cn/dotnet/api/system.text.stringbuilder?view=netframework-4.8

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章