




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
目錄第5章字符及字符串操作5.1char類概述5.2字符串類型string及字符串變量、字符串?dāng)?shù)組5.3字符串類型string的方法5.4可變字符串類StringBuilder5.5小結(jié)與作業(yè)教學(xué)目標(biāo)掌握C#字符的特性及常用操作方法;掌握C#字符串的特性及常用操作方法。難點(diǎn)字符及字符串的靈活運(yùn)用。第5章字符及字符串操作5.1
char類概述字符概念:C#使用char定義字符變量,代表一個Unicode字符,占用2個字節(jié)存儲空間。字符Char是值類型。聲明一個字符變量的語法如下。char變量名=‘…’;//字符常變量使用單引號表示例如:charMyChar1
=‘a(chǎn)’;charMyChar2=‘5’;//5.1char類概述方法類型說明IsControl()靜態(tài)方法指定的Unicode字符是否屬于控制字符IsDigit()靜態(tài)方法指定的Unicode字符是否屬于十進(jìn)制數(shù)字字符IsLetter()靜態(tài)方法指定的Unicode字符是否屬于字母IsLetterOrDigit()靜態(tài)方法指定的Unicode字符是否屬于字母或數(shù)字字符IsLower()靜態(tài)方法指定的Unicode字符是否屬于小寫字母IsNumber()靜態(tài)方法指定的Unicode字符是否屬于數(shù)字IsPunctuation()靜態(tài)方法指定的Unicode字符是否屬于標(biāo)點(diǎn)符號IsSeparator()靜態(tài)方法指定的Unicode字符是否屬于分隔符IsUpper()靜態(tài)方法指定的Unicode字符是否屬于大寫字母IsWhiteSpace()靜態(tài)方法指定的Unicode字符是否屬于空白Parse()靜態(tài)方法將指定的字符轉(zhuǎn)換為它等效的Unicode字符ToLower()靜態(tài)方法將指定的字符轉(zhuǎn)換為小寫ToUpper()靜態(tài)方法將指定的字符轉(zhuǎn)換為大寫ToString()實(shí)例方法將指定的字符轉(zhuǎn)換為字符串判斷類別字符常用方法:轉(zhuǎn)換類別5.1char類概述字符IsDigit():控制字符是字符集中的一部分,表示非打印字符,并且通常用于控制顯示和打印設(shè)備的行為,常見的控制字符有:換行符(LF):Unicode編碼為U+000A?;剀嚪–R):Unicode編碼為U+000D。制表符(TAB):Unicode編碼為U+0009。垂直制表符(VT):Unicode編碼為U+000B。換頁符(FF):Unicode編碼為U+000C。退格符(BS):Unicode編碼為U+0008??兆址∟UL):Unicode編碼為U+0000。退行符(ESC):Unicode編碼為U+001B??崭瘢⊿P):Unicode編碼為U+0020。5.1char類概述字符Is?():charcharacter='5';if(char.IsDigit(character)){Console.WriteLine(“是.");}else{Console.WriteLine(“不是.");}//5.1char類概述字符ToUpper():charcharacter='a';if(char.IsLetter(character)){charupperCaseChar=char.ToUpper(character);Console.WriteLine("Thecharacterisaletteranditsuppercaseformis:"+upperCaseChar);}else{Console.WriteLine("Thecharacterisnotaletter.");}//5.1char類概述字符IsDigit()和IsNumber()兩種方法的區(qū)別:IsDigit()方法:這個方法用于檢查一個字符是否為數(shù)字字符。數(shù)字字符包括0到9之間的數(shù)字字符。只有十進(jìn)制數(shù)字被視為數(shù)字字符。它不考慮其他數(shù)字字符,比如羅馬數(shù)字、數(shù)學(xué)符號等。IsNumber()方法:這個方法用于檢查字符是否被定義為數(shù)字字符,包括數(shù)字、字符的Unicode數(shù)字類別以及其他數(shù)字字符。除了0到9之間的數(shù)字字符,它還考慮其他數(shù)字字符,比如羅馬數(shù)字、數(shù)學(xué)符號、Unicode中定義的其他數(shù)字字符等。因此,IsDigit()主要用于檢查一個字符是否為十進(jìn)制數(shù)字字符,而IsNumber()則更廣泛地用于檢查一個字符是否為數(shù)字字符,包括所有數(shù)字類型。5.1char類概述字符IsPunctuation():可以判斷以下字符是否為標(biāo)點(diǎn)符號:逗號,句號.分號;冒號:嘆號!問號?引號'和"括號(、)、[、]、{、}等破折號-和連字符-斜杠/和反斜杠\等等5.1char類概述字符IsSeparator():可以判斷以下字符是否為分隔符:空格''制表符'\t'換行符'\n'回車符'\r'分隔符Unicode類別(UnicodeCategory.Separator)中的其他字符,如非斷空格'\u00A0'、分組分隔符'\u200A'等。5.1char類概述字符IsWhiteSpace():可以判斷以下字符是否為空白字符,空白字符是指用于分隔詞語或更改文本布局的字符,而不是實(shí)際的可見字符:空格''制表符'\t'換行符'\n'回車符'\r'垂直制表符'\v'換頁符'\f'Unicode中的其他空白字符,如非斷空格'\u00A0'、字節(jié)順序標(biāo)記'\uFEFF'等。5.1char類概述字符Parse():charwhitespace=char.Parse(Console.ReadLine());if(char.IsWhiteSpace(whitespace)){Console.WriteLine("Thischaracterisawhitespace.");}else{Console.WriteLine("Thischaracterisnotawhitespace.");}//5.1char類概述字符拓展:stringcharString="A";charresult;if(char.TryParse(charString,outresult)){Console.WriteLine("Parsesuccessful:"+result);}else{Console.WriteLine("Parsefailed.");}//5.1char類概述字符拓展:stringstr="123";intintValue=int.Parse(str);stringstr="3.14";floatfloatValue=float.Parse(str);stringstr="123";intintValue;if(int.TryParse(str,outintValue)){Console.WriteLine("Parsedsuccessfully:"+intValue);}else{Console.WriteLine("Failedtoparse.");}//5.1char類概述字符拓展:stringstr="123";intintValue=int.Parse(str);stringstr="3.14";floatfloatValue=float.Parse(str);stringstr="123";intintValue;if(int.TryParse(str,outintValue)){Console.WriteLine("Parsedsuccessfully:"+intValue);}else{Console.WriteLine("Failedtoparse.");}//5.1char類概述字符ToUpper():charMyChar1='A';charMyChar2='z';if(char.IsUpper(MyChar1)){MyChar2=char.ToLower(MyChar1);}Console.WriteLine(MyChar2);Console.WriteLine(MyChar1);////MyChar1=?5.1char類概述字符ToString():實(shí)例方法。charMyChar1='A';stringMyStr1=MyChar1.ToString();Console.WriteLine(MyStr1);////字符串概念:C#使用string定義字符串變量,代表了.NET的System.String類,字符串變量的聲明語法如下。string
變量名=“…”;//字符常變量使用單引號表示5.2字符串類型string及字符串變量、字符串?dāng)?shù)組說明:字符串可以看作是一個字符序列,即Unicode字符數(shù)組;字符串是引用類型,默認(rèn)初始化為null;字符串具有不可變性——字符串不能被修改,string的任何“改變”都會分配一個新的字符串(而不是修改原來的);stringstr1="Hello";stringstr2=str1;//str2現(xiàn)在引用與str1相同的字符串str1="World";//創(chuàng)建一個新的字符串"World",str1引用它Console.WriteLine(str1);//輸出"World"Console.WriteLine(str2);//輸出"Hello"http://字符串概念:C#使用string定義字符串變量,代表了.NET的System.String類,字符串變量的聲明語法如下。string
變量名=“…”;//字符常變量使用單引號表示5.2字符串類型string及字符串變量、字符串?dāng)?shù)組說明:字符串可以看作是一個字符序列,即Unicode字符數(shù)組;字符串是引用類型,默認(rèn)初始化為null;字符串具有不可變性——字符串不能被修改,string的任何“改變”都會分配一個新的字符串(而不是修改原來的);拘留池特性。stringstr1="Hello";stringstr2="Hello";//字符串拘留池:拘留池(StringInterningPool)是.NET中的一個特殊的內(nèi)存區(qū)域,用于存儲字符串常量的唯一實(shí)例。它的存在是為了提高內(nèi)存利用率和性能,避免重復(fù)創(chuàng)建具有相同內(nèi)容的字符串對象。當(dāng)你使用字符串字面量(例如:"hello")創(chuàng)建字符串時,運(yùn)行時會首先檢查拘留池中是否已經(jīng)存在相同內(nèi)容的字符串。如果存在,它將返回拘留池中的實(shí)例的引用,而不是創(chuàng)建一個新的字符串對象。這種行為稱為字符串拘留(StringInterning),它確保相同內(nèi)容的字符串在拘留池中只有一個實(shí)例。5.2字符串類型string及字符串變量、字符串?dāng)?shù)組stringstr1="Hello";stringstr2="Hello";Console.WriteLine(object.ReferenceEquals(str1,str2));////輸出:True,因?yàn)橄嗤淖址置媪吭诰辛舫刂兄挥幸粋€實(shí)例說明:拘留池對于字符串字面量是自動啟用的,但對于使用new運(yùn)算符創(chuàng)建的字符串對象則不會啟用拘留。即使用new運(yùn)算符創(chuàng)建的字符串對象不會放入拘留池中。stringstr3=newstring(“Hello".ToCharArray());Console.WriteLine(object.ReferenceEquals(str1,str3));//輸出:False,因?yàn)槭褂胣ew運(yùn)算符創(chuàng)建的字符串不會在拘留池中字符串1.復(fù)制:Copy():靜態(tài)方法,返回一個新的string對象,其中包含調(diào)用方法的字符串的副本stringstr1="Hello";stringstr2=string.Copy(str1);////相同的值,不同的引用5.3字符串類型string的方法CopyTo():實(shí)例方法,將字符串的字符復(fù)制到字符數(shù)組中。stringstr1="HelloWorld!";char[]arr1=newchar[5];str1.CopyTo(6,arr1,0,5);Console.WriteLine(arr1);//////CopyTo(sourceIndex,destinationArray,destinationIndex,count);sourceIndex:源索引。指定從源字符串中開始復(fù)制字符的起始位置的索引。destinationArray:目標(biāo)字符數(shù)組。指定要將字符復(fù)制到其中的字符數(shù)組。destinationIndex:目標(biāo)索引。指定從目標(biāo)字符數(shù)組的哪個位置開始復(fù)制字符的索引。count:復(fù)制的字符數(shù)。指定要復(fù)制的字符數(shù)。字符串2.比較:Compare():靜態(tài)方法,比較兩個字符串的相對順序,并返回一個整數(shù),該整數(shù)指示兩個字符串的相對順序。stringstr1="apple";stringstr2="banana";intresult=string.Compare(str1,str2);////result=-1;
5.3字符串類型string的方法string.Compare(str1,str2)//str1是要比較的第一個字符串,str2是要比較的第二個字符串。如果str1小于str2,則返回-1。如果str1等于str2,則返回0。如果str1大于str2,則返回1。例如:字符串2.比較:CompareOrdinal():靜態(tài)方法,比較兩個字符串的相對順序,并返回一個整數(shù),該整數(shù)指示兩個字符串的相對順序。stringstr1="apple";stringstr2="banana";intresult=string.CompareOrdinal(str1,str2);////result=-1;
5.3字符串類型string的方法string.CompareOrdinal(str1,str2)//str1是要比較的第一個字符串,str2是要比較的第二個字符串。如果str1小于str2,則返回-1。如果str1等于str2,則返回0。如果str1大于str2,則返回1。例如:字符串2.比較:Compare()與CompareOrdinal()區(qū)別:
5.3字符串類型string的方法1.比較方式:Compare()方法使用當(dāng)前線程的區(qū)域性信息來進(jìn)行字符串比較。它考慮了字符的語言、大小寫規(guī)則和排序順序等區(qū)域性因素。CompareOrdinal()方法則直接比較字符串中每個字符的Unicode值,而不考慮區(qū)域性信息。它執(zhí)行的是基于字符串的字典順序的簡單比較。2.性能:由于Compare()方法需要考慮區(qū)域性的影響,可能需要進(jìn)行更復(fù)雜的比較過程,因此在某些情況下可能比CompareOrdinal()方法稍慢。CompareOrdinal()方法執(zhí)行簡單的字符比較,不考慮區(qū)域性,因此在一些性能要求較高的場景中可能更有效率。3.適用場景:當(dāng)需要考慮字符串比較的語言、大小寫規(guī)則和排序順序等區(qū)域性因素時,應(yīng)該使用Compare()方法。當(dāng)不需要考慮區(qū)域性,而只是簡單地比較字符串中字符的Unicode值時,或者為了性能優(yōu)化而希望避免區(qū)域性的影響時,可以使用CompareOrdinal()方法。字符串2.比較:CompareTo():實(shí)例方法,比較兩個字符串的相對順序,并返回一個整數(shù),該整數(shù)指示兩個字符串的相對順序。stringstr1="apple";stringstr2="banana";intresult=str1.CompareTo(str2);////result=-1;5.3字符串類型string的方法str1.Compare(str2)//str1是要比較的第一個字符串,str2是要比較的第二個字符串。如果strA小于strB,則返回-1。如果strA等于strB,則返回0。如果strA大于strB,則返回1。例如:字符串2.比較:Equals():實(shí)例方法,比較兩個字符串對象的內(nèi)容是否相等,并返回bool值(true或false),它不執(zhí)行引用比較,而執(zhí)行值比較。stringstr1="Lilei";stringstr2="lilei";boolresult=str1.Equals(str2);////result=false;5.3字符串類型string的方法str1.Equals(str2)//str1是要比較的第一個字符串,str2是要比較的第二個字符串。如果str1和str2的內(nèi)容相同,則返回true,否則返回false。例如:boolresult2=str1.Equals(str2,StringComparison.OrdinalIgnoreCase);//true不區(qū)分大小寫:字符串3.查找:Contains():實(shí)例方法,用于檢查一個字符串是否包含另一個字符串。它返回一個布爾值,指示被搜索的字符串是否在目標(biāo)字符串中出現(xiàn)。stringstr1="Hello,world!";stringstr2="world";boolresult=str1.Contains(str2);////result=true;5.3字符串類型string的方法str1.Contains(str2)//str1中是否包含str2如果包含則返回true,否則返回false。例如:注意:Contains()方法默認(rèn)情況下區(qū)分大小寫。字符串3.查找:IndexOf():實(shí)例方法,用于查找字符串中特定子字符串的第一次出現(xiàn)位置(索引)。如果找到了該子字符串,則返回它在主字符串中的索引位置;如果沒有找到,則返回-1。stringstr1="Hello,world!";stringstr2=“World";intresult=str1.IndexOf(str2);////result=-1;
5.3字符串類型string的方法str1.IndexOf(str2)//str1中是否包含str2例如:注意:IndexOf()方法默認(rèn)情況下區(qū)分大小寫。stringstr1="Hello,world!";stringstr2=“World";intresult=str1.IndexOf(str2,StringComparison.OrdinalIgnoreCase);////方法重載:result=7;字符串3.查找:IndexOf():5.3字符串類型string的方法stringstr1="Hello,world!";stringstr2=“o";intresult1=str1.IndexOf(str2,4);////方法重載:intresult2=str1.IndexOf(str2,5);//intresult2=str1.IndexOf(str2,5,2);//str1.IndexOf(str2,startIndex)//從startIndex位置開始查找str1.IndexOf(str2,startIndex,
length)//從startIndex位置開始,向后查找length長度例如:result=4;result=8;result=-1;字符串3.查找:LastIndexOf():實(shí)例方法,用于查找最后一次出現(xiàn)特定子字符串的位置(索引)。它返回被搜索的字符串最后一次出現(xiàn)的索引位置;如果沒有找到,則返回-1。stringstr1="Hello,world!";stringstr2=“o";intresult=str1.LastIndexOf(str2);////result=85.3字符串類型string的方法str1.LastIndexOf(str2)//str1中是否包含str2例如:字符串4.截取:SubString():實(shí)例方法,用于從字符串中提取一個子字符串,其開始位置和長度由參數(shù)指定。stringstr1="Hello,world!";stringstr2=str1.SubString(7);stringstr3=str1.SubString(7,5);////str2=“world!”//str3=“world”5.3字符串類型string的方法str1.SubString(startIndex)//startIndex位置開始到結(jié)尾的子字符串例如:str1.SubString(startIndex,
length)//startIndex位置開始,長度為length的子字符串字符串5.分割:Split():實(shí)例方法,根據(jù)指定的分隔符,將一個字符串分割成子字符串?dāng)?shù)組。stringstr="apple,banana,orange,grape";string[]fruits=str.Split(',');foreach(stringfruitinfruits)Console.WriteLine(fruit);////結(jié)果是{"apple","banana","orange","grape"}5.3字符串類型string的方法string[]result=str1.Split(seperator)//例如:stringstr="apple,banana,orange,grape";string[]fruits=str.Split('a');//stringstr=“138-0000-1000";string[]nums=str.Split('-');//stringstr="138-0000-1000";string[]nums=str.Split("-");//字符串6.合并:Join():靜態(tài)方法,用于將字符串?dāng)?shù)組的元素連接成一個單獨(dú)的字符串,并在每個元素之間插入指定的分隔符。string[]fruits={"apple","banana","orange","grape"};stringresult=string.Join(",",fruits);////result="apple,banana,orange,grape"5.3字符串類型string的方法stringresult=string.Join(separator,array);//例如:string[]nums={"138","0000","1000"};stringnumber=string.Join('-',nums);Console.WriteLine(number);////字符串6.合并:Concat():靜態(tài)方法,用于將兩個或多個字符串連接成一個新的字符串。stringstr1=“Hello,”;stringstr2=“world!”;stringstr3=string.Concat(str1,str2);//////str3=“Hello,world!”5.3字符串類型string的方法stringresult=string.Concat(str1,str2,…)//例如:Concat()方法也可以接受一個字符串?dāng)?shù)組作為參數(shù):string[]strings={"Hello",",","world","!"};stringresult=string.Concat(strings);////result=“Hello,world!”intnum1=10;doublenum2=5.5;stringresult=string.Concat("Theresultis:",num1,"+",num2,"=",num1+num2);//////result="Theresultis:10+5.5=15.5"更多:格式化字符串字符串6.合并:5.3字符串類型string的方法字符串連接也可以用‘+’來實(shí)現(xiàn)stringstr1=“Hello,”;stringstr2=“world”;stringstr3=str1+str2;//////str3=“Hello,world”charchr1=‘!’;stringstr4=str3+chr1;////str4=“Hello,world!”拓展:為字符串添加字符字符串7.替換:Replace():實(shí)例方法,用于替換字符串中的指定子字符串。如果沒有找到匹配項(xiàng),將返回原始字符串。區(qū)分大小寫。stringstr1="Hello,world!";stringstr2=str1.Replace(“world”,“universe”)////str2=“Hello,universe!”5.3字符串類型string的方法stringresult=str1.Replace(oldValue,newValue)//例如:字符串8.插入與填充:Insert():實(shí)例方法,用于在指定的索引位置插入指定的字符串。stringstr1="Hello,world!";stringstr2=str1.Insert(7,“our”);////str2=“Hello,ourworld!”5.3字符串類型string的方法stringresult=str1.Insert(startIndex,value)//例如:PadRight()/PadLeft:實(shí)例方法,用于用于向字符串的右側(cè)/左側(cè)添加指定數(shù)量的填充字符,使字符串達(dá)到指定的總長度。stringresult=str1.PadRight(totalWidth,paddingChar)//stringstr1="Hello";stringresult=originalString.PadRight(10,'-');////result=“Hello-----”例如:字符串9.刪除:Trim()/TrimStart()/TrimEnd():實(shí)例方法,用于移除字符串的開頭、結(jié)尾或兩端的指定字符(默認(rèn)是空格字符)。stringstr1=“#?Hello,world!#?";stringstr2=str1.Trim();stringstr3=str1.Trim(‘‘,‘#’,‘?’);stringstr4=str1.TrimStart(‘‘,‘#’,‘?’);////str2=“#?Hello,world!#?”//str3=“Hello,world!”//str4=“Hello,world!#?”5.3字符串類型string的方法stringresult=str1.Trim();//例如:字符串9.刪除:Remove():實(shí)例方法,返回當(dāng)前實(shí)例中從指定位置到最后位置的所有以刪除的字符的新字符串。stringstr1="Hello,world!";stringstr2=str1.Remove(5);stringstr3=str1.Remove(5,1);////str2=“Hello”//str3=“Helloworld!”5.3字符串類型string的方法stringresult=str1.Remove(startIndex);//例如:stringresult=str1.Remove(startIndex,
length);//字符串10.大小寫轉(zhuǎn)換:ToLower()/ToUpper():實(shí)例方法,用于將字符串中的所有字符轉(zhuǎn)換為小寫/大寫形式。stringstr1="Hello,world!";stringstr2=str1.ToLower();stringstr3=str1.ToUpper();////str2=“hello,world!”//str3=“HELLO,WORLD!”5.3字符串類型string的方法stringresult=str1.ToLower();//例如:stringresult=str1.ToUpper();//字符串11.拘留池相關(guān):Intern():靜態(tài)方法,用于將字符串添加到拘留池(stringinterningpool)中,并返回拘留池中的實(shí)例。stringstr1="Hello";stringstr2="Hello";stringstr3=newstring(“Hello".ToCharArray());stringstr4=string.Intern(str3);//////5.3字符串類型string的方法stringresult=string.Intern(str1);//例如:Console.WriteLine(object.ReferenceEquals(str1,str2));Console.WriteLine(object.ReferenceEquals(str1,str3));Console.WriteLine(object.ReferenceEquals(str1,str4));
//輸出:True,因?yàn)橄嗤淖址置媪吭诰辛舫刂兄挥幸粋€實(shí)例//輸出:False,因?yàn)槭褂胣ew運(yùn)算符創(chuàng)建的字符串不會在拘留池中//輸出:True,因?yàn)槭褂肐ntern方法將字符串添加到拘留池中字符串11.拘留池相關(guān):IsIntern():靜態(tài)方法,用于檢查指定的字符串是否存在于拘留池中,并返回拘留池中的字符串實(shí)例(如果存在),如果不存在,返回null。stringoriginalString="hello";stringinternedString=string.IsInterned(originalString);if(internedString!=null){Console.WriteLine("Stringisinterned.");Console.WriteLine(object.ReferenceEquals(originalString,internedString));}else{Console.WriteLine("Stringisnotinterned.");}////////輸出:True5.3字符串類型string的方法stringresult=string.IsIntern(str1);//例如:字符串12.格式化*:Format():靜態(tài)方法,用于格式化字符串,使用占位符將各種類型的數(shù)據(jù)插入到字符串中,并指定它們的格式。格式化字符串中的占位符用大括號{}括起來,并在其中指定要插入的參數(shù)索引或表達(dá)式。。5.3字符串類型string的方法stringname="Alice";intage=30;stringresult=string.Format("Mynameis{0}andIam{1}yearsold.",name,age);Console.WriteLine(formattedString);////Output:MynameisAliceandIam30yearsold.例如:stringresult2=$"Mynameis{name}andIam{age}yearsold.";Console.WriteLine(formattedString);////Output:MynameisAliceandIam30yearsold.字符串插值($”{}”):字符串插值是在編譯時被解析的,而string.Format()方法是在運(yùn)行時被解析的。字符串13.屬性*:Length:獲取字符串的長度,即字符串中字符的數(shù)量。stringstr="";boolisEmpty=str.IsEmpty;/////isEmpty的值為true5.3字符串類型string的方法stringstr1=“Hello”;intlength=str1.Length;////length=5IsEmpty:指示字符串是否為空,為空返回true,不為空返回false。stringstr=null;boolisNullOrEmpty=str.IsNullOrEmpty;////值為trueIsNullOrEmpty:指示字符串是否為null或空字符串。stringstr="";boolisNullOrWhiteSpace=str.IsNullOrWhiteSpace;////值為trueIsNullOrWhiteSpace:指示字符串是否為null、空字符串或僅包含空格。功能成員類型說明字符串復(fù)制Copy()方法返回調(diào)用方法的字符串的副本CopyTo()方法將字符串的字符復(fù)制到字符數(shù)組字符串比較Compare()靜態(tài)方法比較兩個字符串的相對順序,并返回一個整數(shù),該整數(shù)指示兩個字符串的相對順序。CompareTo()方法CompareOrdinal()靜態(tài)方法Equals()方法比較兩個字符串對象的內(nèi)容是否相等,并返回bool值字符串查找Contains()方法返回指示參數(shù)是否是對象字符串的子字符串的bool值IndexOf()方法用于查找字符串中特定子字符串的第一次出現(xiàn)位置(索引)LastIndexOf()方法用于查找最后一次出現(xiàn)特定子字符串的位置(索引)字符串截取Substring()方法獲取對象字符串的子字符串字符串分割Split()方法返回包括原始字符串的子字符串的字符串?dāng)?shù)組。對于每個輸人參數(shù),為方法提供一組分隔符來分隔目標(biāo)子字符串字符串合并Concat()靜態(tài)方法返回連接參數(shù)字符串后的字符串Join()方法返回對象字符串的副本,其中所有字母字符都為大寫字符串常用成員:5.3字符串類型string的方法功能成員類型說明字符串替換Replace()方法返回對象字符串的副本,其中替換了一個子字符串字符串的插入與填充Insert()方法接受一個字符串和一個位置作為參數(shù),創(chuàng)建并返回一個在指定位置插人了參數(shù)字符串的新的字符串對象副本PadRight()方法用于用于向字符串的右側(cè)/左側(cè)添加指定數(shù)量的填充字符,使字符串達(dá)到指定的總長度。PadLest()方法字符串的刪除Trim()方法用于移除字符串的開頭、結(jié)尾或兩端的指定字符(默認(rèn)是空格字符)。Remove()方法返回對象字符串的副本,其中移除了一個子字符串字符串的大小寫轉(zhuǎn)換ToLower()方法返回對象字符串的副本,其中所有字母字符都為小寫ToUpper()方法返回對象字符串的副本,其中所有字母字符都為大寫拘留池相關(guān)Intern()靜態(tài)方法將字符串添加到拘留池,并返回拘留池中實(shí)例的引用IsInterned()靜態(tài)方法用于檢查指定的字符串是否存在于拘留池中,并返回拘留池中的字符串實(shí)例(如果存在),如果不存在,返回null字符串格式化*Format()靜態(tài)方法返回格式化后的字符串字符串長度*Length屬性返回字符串長度IsEmpty屬性指示字符串是否為空。字符串常用成員:5.3字符串類型string的方法字符習(xí)題4-4-2:編寫程序?qū)崿F(xiàn)對用戶輸入的字符進(jìn)行連續(xù)讀取,若輸入的字符是阿拉伯?dāng)?shù)字則輸出,直到用戶連續(xù)輸入的三個字符組成為END(大小寫任意)時結(jié)束。例如,用戶分別輸入字符:124ty5ENd,則結(jié)果輸出1245.classProgram{staticvoidMain(string[]args){stringinput="";Console.WriteLine("請輸入字符(連續(xù)輸入e、n、d結(jié)束):");while(true){charc=Console.ReadKey().KeyChar;Console.WriteLine();input+=c;if(input.Length>=3&&input.Substring(input.Length-3).ToUpper()=="END"){break;}if(char.IsDigit(c)){Console.WriteLine(c+"");}}Console.WriteLine("\n程序結(jié)束。");}}5.3字符串類型string的方法提示:charc=Console.ReadKey().KeyChar;5.4可變字符串類StringBuilder可變字符串StringBuilder類:可編輯的字符串,避免創(chuàng)建許多副本。Stringeuilder類是BCL的成員,位于systen.Text命名空間中(usingSystem.Text;)。StringBuilder對象是Unicode字符的可變數(shù)組。例如:StringBuildersb1=newStringBuilder(“Hello”);Console.WriteLine(sb1);//聲明可變字符串//StringBuilder是動態(tài)對象,支持?jǐn)U展它封裝的字符串中的字符數(shù),StringBuilder對象的默認(rèn)容量是16個字符(緩沖區(qū)),如果你向StringBuilder中追加的文本超過了這個容量,它會自動增加其內(nèi)部容量自動分配新的空間以容納更多字符,通常會以2的倍數(shù)增加容量,以提高性能。StringBuildersb2=newStringBuilder(“Hello”,50);Console.WriteLine(sb2);//聲明可變字符串//5.4可變字符串類StringBuilder常用方法1.追加Append():實(shí)例方法,用于向StringBuilder對象的末尾添加字符串或字符。StringBuildersb=newStringBuilder("HelloWorld!");sb.Append("Whatabeautifulday.");Console.WriteLine(sb);//////HelloWorld!Whatabeautifulday.AppendFormat():實(shí)例方法,用于向StringBuilder對象的末尾添加格式化的字符串。StringBuildersb=newStringBuilder();intage=30;stringname="Alice";sb.AppendFormat("Mynameis{0}andIam{1}yearsold.",name,age);//////5.4可變字符串類StringBuilder常用方法1.追加AppendLine():實(shí)例方法,用于向StringBuilder對象的末尾添加字符及一個空行。StringBuildersb=newStringBuilder();sb.AppendLine();sb.AppendLine("Hello,world!");Console.WriteLine(sb);////追加一個空行//追加"Hello,world!",然后換行//5.4可變字符串類StringBuilder常用方法2.插入Insert():實(shí)例方法,用于向StringBuilder對象在指定位置插入字符串或字符。StringBuildersb=newStringBuilder("Hello");sb.Insert(5,"");sb.Insert(6,"world!");//////Helloworld!5.4可變字符串類StringBuilder常用方法3.刪除Remove():實(shí)例方法,用于向StringBuilder對象刪除指定位置和指定長度的字符。StringBuildersb=newStringBuilder("Hello,world!");sb.Remove(5,6);////刪除指定范圍內(nèi)的字符,從索引位置5開始,刪除6個字符//結(jié)果為"Hello!"5.4可變字符串類StringBuilder常用方法4.替換Replace():實(shí)例方法,用于向StringBuilder對象替換指定的字符。StringBuildersb=newStringBuilder("Helloworld");sb.Replace("world","everyone");////將"world"替換為"everyone",結(jié)果為"Helloeveryone"5.4可變字符串類StringBuilder常用方法5.轉(zhuǎn)換為字符串ToString():實(shí)例方法,用于將StringBuilder對象轉(zhuǎn)換為字符串。StringBuildersb=newStringBuilder("Hello");stringstr=sb.ToString();////將StringBuilder對象轉(zhuǎn)換為字符串5.4可變字符串類StringBuilder常用方法6.Capacity屬性Capacity:用于獲取或設(shè)置StringBuilder對象的當(dāng)前容量。StringBuilder對象的容量是指它內(nèi)部緩沖區(qū)的大小,即可以存儲的最大字符數(shù)。StringBuildersb=newStringBuilder();intcurrentCapacity=sb.Capacity;sb.Capacity=currentCapacity*2;sb.Capacity=currentCapacity/2;////獲取當(dāng)前容量//擴(kuò)展容量,使其能夠容納更多的字符//縮減容量,以釋放不需要的內(nèi)存5.4可變字符串類StringBuilder常用方法7.Length屬性Length:獲取或設(shè)置StringBuilder對象的長度,即字符序列的長度。StringBuildersb=newStringBuilder("Hello");intlength=sb.Length;sb.Length=3;////獲取StringBuilder對象的長度//設(shè)置StringBuilder對象的長度為3,結(jié)果為"Hel"5.4可變字符串類StringBuilder常用方法Capacity屬性和Length屬性的區(qū)別:1.Capacity(容量):Capacity屬性表示StringBuilder對象內(nèi)部緩沖區(qū)的大小,即可以存儲的最大字符數(shù)。2.Length(長度):Length屬性表示StringBuilder對象中當(dāng)前包含的字符數(shù)量,即字符序列的長度??偟膩碚f,`Capacity`表示StringBuilder對象的內(nèi)部緩沖區(qū)的大小,而Length表示StringBuilder對象中當(dāng)前包含的字符數(shù)量。Capacity用于控制內(nèi)存分配和性能優(yōu)化,而Length用于確定StringBuilder對象中有效字符的數(shù)量。StringBuildersb=newStringBuilder("Hello");intcurrentCapacity=sb.Capacity;intlength=sb.Length;////容量=?//長度=?5.4可變字符串類StringBuilder可變字符串常用方法:方法說明追加Append()將字符串追加到指定StringBuilder對象的末尾AppendFormat()以指定格式將字符串追加到指定StringBuilder對象的末尾AppendLine()在StringBuilder對象的末尾添加字符串及一個空行。插入Insert()將字符串或?qū)ο蟛迦氲街付⊿tringBuilder對象中的指定位置刪除Remove()從指定的StringBuilder對象中移除指定數(shù)量的字符替換Replace()用一個指定的字符串替換StringBuilder對象內(nèi)的字符容量屬性Capacity用于獲取或設(shè)置StringBuilder對象的當(dāng)前容量。長度屬性Length獲取或設(shè)置StringBuilder對象的長度,即
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重難點(diǎn)解析人教版八年級上冊物理聲現(xiàn)象《噪聲的危害和控制》專項(xiàng)測試試題(含答案及解析)
- 中級鉗工職稱考試題庫及答案
- 考點(diǎn)解析-人教版八年級上冊物理物態(tài)變化《溫度》同步測評試卷(含答案詳解版)
- 紅巖中考試題及答案詳解
- 一級裁判理論考試題庫及答案
- 2025年消防執(zhí)業(yè)資格考試題庫(消防應(yīng)急救援裝備)消防設(shè)施檢驗(yàn)試題及答案
- 獨(dú)立承包協(xié)議書范本
- 2025年寧波市事業(yè)單位招聘考試綜合類公共基礎(chǔ)知識真題模擬試卷
- 2025年合肥市事業(yè)單位招聘考試綜合類專業(yè)能力測試試卷(審計(jì)類)真題模擬詳解及預(yù)測
- 2025年南京市事業(yè)單位招聘考試綜合類專業(yè)能力測試試卷(物流類)真題模擬訓(xùn)練
- 第10課《美麗的顏色》課件-2025-2026學(xué)年統(tǒng)編版語文八年級上冊
- 運(yùn)動損傷的預(yù)防與處理教學(xué)教案
- 肌張力低下型腦性癱瘓
- 2025至2030全球及中國紙漿模塑包裝行業(yè)項(xiàng)目調(diào)研及市場前景預(yù)測評估報(bào)告
- 護(hù)理用藥錯誤PDCA案例
- 香道培訓(xùn)課件
- 2025至2030中國膝關(guān)節(jié)支持器行業(yè)項(xiàng)目調(diào)研及市場前景預(yù)測評估報(bào)告
- 心悸癥狀護(hù)理課件
- 河道施工船舶管理制度
- 中醫(yī)眼科管理制度
- 2025年中央廚房行業(yè)現(xiàn)狀及發(fā)展趨勢分析報(bào)告
評論
0/150
提交評論