C#基礎(chǔ)
string
和StringBuilder
的區(qū)別:tring
不可變在讶,StringBuilder
是可變的
當(dāng)StringBuilder
字符大小達(dá)到限制就會(huì)去申請(qǐng)新的內(nèi)存區(qū)域,大小是原來的2倍
1卧抗、利用構(gòu)造函數(shù)創(chuàng)造StringBuilder
System.Text.StringBuilder sb = new System.Text.StringBuilder("HelloWord");
2癞谒、初始化一個(gè)空的StringBuilder底燎,大小為20
StringBuilder sb = new StringBuilder(20);
3、初始化了一個(gè)對(duì)象弹砚,初始化的對(duì)象是HelloWord双仍,這個(gè)對(duì)象有20字符大小
StringBuilder sb =new StringBuilder("HelloWord",20);
StringBuilder
追加字符串
4、當(dāng)我們需要對(duì)一個(gè)字符串進(jìn)行頻繁的刪除和添加桌吃,使用StringBuilder的效率會(huì)高于string
sb.Append("HaoShuai");
sb.Insert(0, "http://");
字符串
1朱沃、字符串的不可變性:當(dāng)你重新給一個(gè)字符串賦值之后,老值并無銷毀,會(huì)重新開辟一塊新的內(nèi)存儲(chǔ)存逗物。
當(dāng)程序結(jié)束后呕屎,GC掃描整個(gè)內(nèi)存,如果發(fā)現(xiàn)有的空間沒有被指向敬察,則立即把它銷毀
2、我們可以將字符串看做是char類型的一個(gè)只讀數(shù)組
ToCharArray();
將字符串轉(zhuǎn)換成Char數(shù)組
new string(char[] chs)
:能夠?qū)har數(shù)組轉(zhuǎn)換成字符串
字符串提供的各種方法
1尔当、Length
獲取字符串的長(zhǎng)度個(gè)數(shù)莲祸。
2、ToUpper();
將字符串轉(zhuǎn)換成大寫形式
3椭迎、ToLower()锐帜;
將字符串轉(zhuǎn)換成小寫形式
4、Equals(比較的字符串畜号,StringComparison缴阎。OrdinalIgnoreCase);
比較兩個(gè)字符串简软,忽略大小寫
5蛮拔、Split();
分割字符串痹升,返回字符串?dāng)?shù)組
CompareTo
: 比較字符串 返回值int -1,0,1
//CompareTo:字符串比較
string s = "jiangxinbin";
//當(dāng)兩個(gè)字符串相等的時(shí)候建炫,返回0 如果當(dāng)比較 j 時(shí),就在字母表靠前返回1疼蛾,靠后返回-1
int res = s.CompareTo("jiangxinbin");
Replace
:把指定字符替換指定自定義字符 不影響原字符 字符換字符 字符串換字符串
string newSTr= s.Replace('.', '-');
string newSTr= s.Replace(“.”肛跌,“----”);
Split:
在出現(xiàn)給定字符的地方,把字符串拆分成一個(gè)字符串?dāng)?shù)組
string[] strArray = s.Split('.');
foreach (var s1 in strArray)
{
Console.WriteLine(s1);
}
Substring
: 截取指定字符串位置后面的長(zhǎng)度的字符串
string str = s.Substring(6);
ToLower :
把字符串轉(zhuǎn)換成小寫形式
ToUpper:
把字符串轉(zhuǎn)換成大寫形式
Trim:
刪除收尾的空白
Concat:
合并字符串
CopyTo:
把字符串中指定的字符復(fù)制到一個(gè)數(shù)組中
Format:
格式化字符串
indexOf
取得字符串第一次出現(xiàn)某個(gè)給定字符串或者字符的位置
ndexOfAny
insert:
把一個(gè)字符串實(shí)例插入到另一個(gè)字符串實(shí)例的制定索引處
Join:
合并字符串?dāng)?shù)組察郁,創(chuàng)建一個(gè)新的字符串
string
是System.String
的別名
// string
和StringBuilder
的區(qū)別:string
不可變衍慎,StringBuilder
是可變的
// 當(dāng)StringBuilder
字符大小達(dá)到限制就會(huì)去申請(qǐng)新的內(nèi)存區(qū)域,大小是原來的2倍
// 1皮钠、利用構(gòu)造函數(shù)創(chuàng)造StringBuilder
//System.Text.StringBuilder sb = new System.Text.StringBuilder("JiangXinBIn");
// 2稳捆、初始化一個(gè)空的StringBuilder
,大小為20
//StringBuilder sb = new StringBuilder(20);
// 3麦轰、初始化了一個(gè)對(duì)象眷柔,初始化的對(duì)象是JiangXinBin,這個(gè)對(duì)象有20字符大小
StringBuilder sb =new StringBuilder("JaingXinBin",20);
StringBuilder:
Append()
方法原朝,給當(dāng)前字符串追加字符
insert()
追加特定格式的字符串
Remove()
從當(dāng)前字符串中刪除字符
Replace()
在當(dāng)前字符串中驯嘱,用某個(gè)字符或者字符串全部替換另一個(gè)字符或字符串
ToSting()
吧當(dāng)前的StringBuilder
中存儲(chǔ)的字符串,提取成一個(gè)不可變得字符串