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...