C 字串操作 一

2022-06-13 16:18:16 字數 2012 閱讀 6007

c#內建型別中,字串是唯一的引用型別,具有不可變性和密封性。

不可變性指字串一旦建立成功,將不可更改,str1=str1,實際上在堆新建立了乙個str1字串物件,並且返回對該物件的引用。

密封性指字串不能被繼承。

不可變性和密封效能保證字串型別更加高效和安全。

字串操作

1、格式化字串

string.format

string str1 = "

puguo 2530";

string strformat = "

";//

字串格式化佔20字元

string strresult=string

.format(strformat,str1);

console.writeline(

"string.format(,)=\n

",strformat,str1,strresult);

標準數字格式化字串

含義例項

c或c貨幣

string.format("",10)=¥10.00

d或d補位

string.format(",10")=010

e或e指數

string.format(",10")=1.000e+001

f或f固定點

string.format(",10")=10.000

g或g常規

string.format(",10")=10

n或n千分符

string.format(",10000")=10,000.00

p或p百分號

string.format(",1")=100%

x或x十六制

string.format("",1900)=96c

自定義數字格式化字串含義0

0佔位符

#數字佔位符

.小數點

,千位分隔符

;段分割符

%百分符

2、比較字串

(1)、string.compare(str1,str2)

str1-1

str1==str2 --->0

str1>str2   --->1

(2)、string.compareordinal(str1,str2); 與(1)區別,與本地化無關

str1-1

str1==str2 --->0

str1>str2   --->1

(3)、str1.compareto(str2);

str1-1

str1==str2 --->0

str1>str2   --->1

str2 is null  --->1    ""比null大

(4)、string.equals(str1, str2)  <==> str1==str2

str1==str2 --->0

str1!=str2 --->!0

(5)、 str1.equals(str2) 

str1==str2 --->0

str1!=str2 --->!0

(6)、str1==str2

總結:靜態方法比例項方法效率高,因為靜態方法比例項方法先載入。總的來說,(1)(2)比(3)好,(4)比(5)好

3、字串連線

(1)、str1+str2

(2)、string.concat(str1,str2)

4、複製字串

(1)、str2=string.copy(str1); 

copy建立乙個新的例項字串物件,str2,str1不是指向同一字串引用。

(2)、str2=str1

直接複製,str2與str1指向同一字串引用。字串的不可變性導致字串引用的指不可變,改變字串的指知識改變字串指向的字串引用。

(3)、str2=(string)str1.clone()

str1.clone()返回的是object型別,強制轉化為string,與(2)效果一致。

c 字串操作

獲得漢字的區位碼 bytearray newbyte 2 求字串長度 求字串長度 int len string inputstring 檢測含有中文字串的實際長度 str為要檢測的字串 asciiencoding n new asciiencoding byte b n.getbytes str i...

C 字串操作

1.根據單個分隔字元用split擷取 例如複製 如下 string st gt123 1 string sarray st.split 即可得到sarray 0 gt123 sarray 1 1 2.利用多個字元來分隔字串 例如複製 如下 string str gtazb jiangjben 123...

C字串操作

c字串操作 注 文中的幾個大小寫不敏感比較函式,原文用的是stricmp等,後來發現linux的std庫沒有,改為strcasecmp系列。函式名 strcpy 功 能 拷貝乙個字串到另乙個字串 用 法 char strcpy char destin,char source 程式例 i nclude...