欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#數(shù)據(jù)結(jié)構(gòu)之字符串(string)詳解

 更新時間:2025年04月02日 15:26:52   作者:To be better now  
這篇文章主要介紹了C#數(shù)據(jù)結(jié)構(gòu)之字符串(string),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
  • 摘要:以具體例子詳解C#字符串的使用。
  • 編程語言:C#
  • 編程環(huán)境:Visual Studio 2019

字符串代表文字對象,表示把字符一個一個串起來,視為Char對象的按序只讀集合,使用非常廣泛。

轉(zhuǎn)義字符序列

在講字符串前,先說一下字符。不知道大家編程會不會注意到,在字符或者字符串里經(jīng)常會有一些特殊的字符。

比如我們想定義一個字符,這個字符就是單引號,但直接把單引號輸進(jìn)去又會提示錯誤,那是不是這樣的字符串不能被定義呢?那就太小看C#語言了。

對于一些跟語法沖突的字符或者具有特殊含義的字符,規(guī)定字符“\”為轉(zhuǎn)義字符,緊跟其后的一個字符要進(jìn)行特殊處理,根據(jù)其后跟的字符來決定它的意義。常用轉(zhuǎn)義字符序列如下。

常用轉(zhuǎn)義字符序列
轉(zhuǎn)義字符序列字符名稱程序范例運行結(jié)果
\'單引號Write("C\'#");C'#
\"雙引號Write("C\"#");C"#
\n換行符Write("C\n#");

C

#

\tTab鍵(空格)Write("C\t#")C #
\r回車符(回到本行開始位置)Write("C\r#")#C
\\反斜杠Write("C\\#")C\#

字符串的創(chuàng)建

字符串的聲明

字符串的聲明很簡單,注意字符串賦值時要給字符串內(nèi)容前后加上雙引號,聲明語法如下。

string str = "字符串的內(nèi)容";

null字符串與空字符串

這里特別說明一下空字符串的創(chuàng)建與判斷,首先是空字符串的創(chuàng)建,方式有以下三種。

三種方式并非完全一樣,其中字符串為null時,若訪問其屬性,會導(dǎo)致異常,string.Empty和“”字符串表示空字符串,即長度為零的字符串。因此,字符串清空時常用string.Empty或“”,小編以前沒明白三者的關(guān)系,用null清空字符串,出了不少異常,吃了不少虧。

string strNull = null;//null字符串,若訪問其成員,會導(dǎo)致異常
string strEmpty = string.Empty;//空字符串,長度為零
string str = "";//空字符串,長度為零

了解了空字符串的創(chuàng)建,判斷起來就容易了,空字符串判斷有以下方式。

其中null只對應(yīng)null字符串的判斷,空字符串string.Empty和“”可以互相等價,string.IsNullOrEmpty同時包括null字符串和空字符串的判斷 string.IsNullOrWhiteSpace同時包括null、空字符串和若干空白字符組成的字符串的判斷。

if (str == null)
{
    //僅在str=null時返回true
}
else if (str == "")
{
    //在str為空字符串時返回true
}
else if (str == string.Empty)
{
    //在str為空字符串時返回true
}
else if (string.IsNullOrEmpty(str))
{
    //在str=null或空字符串時返回true
}
else if (string.IsNullOrWhiteSpace(str))
{
    //在str=null、空字符串或若干空白字符組成的字符串時返回true
}

重復(fù)單字符字符串的構(gòu)造

字符串string給出了其構(gòu)造方法,構(gòu)造函數(shù)如下,功能是構(gòu)造由count個ch字符組成的字符串。

String(char ch, int count);//重復(fù)單字符組成的字符串構(gòu)造

字符串的屬性和常用方法

屬性

  • Length:獲?。ㄖ蛔x)字符串的長度。
  • this[index]:獲?。ㄖ蛔x)指定索引位置index的字符。

常用方法

  • CompareTo(str):判斷當(dāng)前字符串與str是否相等,若相等,返回值0。(注:判斷字符串相等還可以直接將要判斷的兩個字符串用邏輯等于符號“==”等起來)
  • ToUpper():將字符串所有字符轉(zhuǎn)換為大寫字符。
  • ToLower():將字符串所有字符轉(zhuǎn)換為小寫字符。
  • Insert(index,str):返回在索引位置index后插入字符串str后的字符串。
  • Remove(index,count):返回從索引位置index開始,刪除count個字符的字符串。
  • Replace(oldchar,newchar):返回以newchar字符替換字符串中所有oldchar字符的字符串。
  • Replace(oldstr,newstr):返回以newstr字符串替換字符串中所有包含oldstr字符串的字符串。

測試Replace方法,代碼如下。

string str1 = "She is a girl";
Console.WriteLine(str1.Replace("girl", "boy"));
Console.WriteLine(str1.Replace('i', 'E'));

運行結(jié)果。

  • Substring(index,count):返回截取從索引位置index開始,count個字符的字符串。
  • Substring(index):返回截取從索引位置index開始到最后的字符串。
  • Split(char):返回以字符char作為分割符分割出來的字符串組成的數(shù)組。(注:分割出來的字符串?dāng)?shù)組的元素不包括分割符char自己)

測試Split方法,代碼如下。

string str2 = "a,b,c,d";
string[] STR = str2.Split(',');
            
for(int i = 0; i < STR.Length; i++)
{
    Console.WriteLine(STR[i]);
}

運行結(jié)果。

  • IndexOf(char):返回從小到大匹配到的第一個字符char的索引號。
  • LastIndexOf(char):返回從大到小匹配到的第一個字符char的索引號。
  • StartsWith(str):匹配字符串開頭是否是str,是返回true,否返回false。
  • EndsWith(str):匹配字符串末尾是否是str,是返回true,否返回false。

總結(jié)

本文首先講解了轉(zhuǎn)義字符序列,即如何輸入沖突字符和表示特殊意義的字符;其次是字符串的創(chuàng)建,包括聲明,空字符串與null字符串的創(chuàng)建與判斷的區(qū)別和重復(fù)字符的字符串構(gòu)造;最后從字符串的屬性和方法詳解了字符串的功能。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論