首先介紹一下常用的幾個(gè)功能:
compare(str1,str2)——比較兩個(gè)字符串 str1,str2的大小,如果大于返回正數(shù),等于返回0,小于返回負(fù)數(shù)!
indexof——定位字符串中第一次出現(xiàn)某個(gè)給定字符串的位置
padleft和padright——在字符串的開始和結(jié)尾用指定的字符填充字符串
tolower和toupper把字符串轉(zhuǎn)換為小寫或大寫形式
trim——?jiǎng)h除首尾空白
string.replace——用指定的字符替換字符串中的指定字符。
c#中字符串的建立過程:
例如定義變量 strt="welcome to ";
strt+="www.sinory.com";
程序首先創(chuàng)建一個(gè)system.string 類型的對(duì)象并初始化為“welcome to”。此時(shí)編譯程度會(huì)分配足夠的內(nèi)存來保存這個(gè)文本串。并用變量strt來表示這個(gè)實(shí)例。當(dāng)執(zhí)行strt+="www.sinory.com"時(shí),系統(tǒng)會(huì)創(chuàng)建一個(gè)新的實(shí)例,并分配足夠的內(nèi)存來保存復(fù)合后的文本。然后用變量strt來表示這個(gè)新的字符
串,就的字符串被撤消。當(dāng)要進(jìn)行大規(guī)模的字符替換與調(diào)整操作時(shí),使用字符串來操作將嚴(yán)重影響性能。在這中情況下就可以用system.text.stringbuilder類。
  
    stringbuilder類并沒有string 類的功能強(qiáng)大,只提供基本的替換和添加和刪除字符串中的文本,但它的工作效率非常高,當(dāng)定義stringbuilder對(duì)象時(shí)可以指定內(nèi)存的內(nèi)存容量,如果不指定系統(tǒng)就會(huì)根據(jù)對(duì)象初始化時(shí)的字符串長度來確定。它有兩個(gè)主要參數(shù)length和capacity分別表示字符串的實(shí)際長度和字符串占據(jù)的內(nèi)存空間長度。對(duì)字符串的修改就是在這個(gè)內(nèi)存中進(jìn)行的,大大提高了添加和替換的的效率。
如定義:stringbuilder sb=new stringbuilder("hello,welcome",100);//初始化對(duì)象并設(shè)置初始容量為100
       sb.append(" to www.sinory.com");
       sb.replace(old,new);//將old替換為new,作用與string.replace()一樣只是不需要在過程中復(fù)制字符。
stringbuilder的成員:
     stringbuilder sb=new stringbuilder("www.sinory.com");//定義初值為www.sinory.com的對(duì)象。
     stringbuilder sb=new stringbuilder(20);初始化容量為20的空對(duì)象。
     另外stringbuilder還有maxcapacity屬性用來限定對(duì)象可以使用的最大容量。默認(rèn)大約是int.maxvalue(20億)
     可以在使用過程中定義sb.maxcapacity=value;
     sb.append(),給當(dāng)前字符串追加字符串。
     sb.appendformat()——添加特定格式的字符串
     sb.insert()——插入一個(gè)子字符串
     sb.remove()——從當(dāng)前字符串刪除字符
     sb.replace()——替換字符串中指定的字符
     sb.tostring()——將sb轉(zhuǎn)化為string 對(duì)象
新聞熱點(diǎn)
疑難解答
圖片精選