最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

字符串代表文字對(duì)象,表示把字符一個(gè)一個(gè)串起來(lái),視為Char對(duì)象的按序只讀集合,使用非常廣泛。

轉(zhuǎn)義字符序列

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

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

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

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

C

#

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

字符串的創(chuàng)建

字符串的聲明

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

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

null字符串與空字符串

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

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

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

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

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

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

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

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

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

字符串的屬性和常用方法

屬性

  • Length:獲取(只讀)字符串的長(zhǎng)度。
  • this[index]:獲取(只讀)指定索引位置index的字符。

常用方法

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

測(cè)試Replace方法,代碼如下。

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

運(yùn)行結(jié)果。

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

測(cè)試Split方法,代碼如下。

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

運(yùn)行結(jié)果。

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

總結(jié)

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

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

相關(guān)文章

  • UGUI實(shí)現(xiàn)圖片拖拽功能

    UGUI實(shí)現(xiàn)圖片拖拽功能

    這篇文章主要為大家詳細(xì)介紹了UGUI實(shí)現(xiàn)圖片拖拽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • OpenCvSharp實(shí)現(xiàn)Mat對(duì)象簡(jiǎn)單的像素操作

    OpenCvSharp實(shí)現(xiàn)Mat對(duì)象簡(jiǎn)單的像素操作

    這篇文章主要介紹了OpenCvSharp實(shí)現(xiàn)Mat對(duì)象簡(jiǎn)單的像素操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • WPF在VisualTree上增加Visual

    WPF在VisualTree上增加Visual

    這篇文章介紹了WPF在VisualTree上增加Visual的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#導(dǎo)出pdf的實(shí)現(xiàn)方法(瀏覽器不預(yù)覽直接下載)

    C#導(dǎo)出pdf的實(shí)現(xiàn)方法(瀏覽器不預(yù)覽直接下載)

    這篇文章主要給大家介紹了關(guān)于C#導(dǎo)出pdf的實(shí)現(xiàn)方法,實(shí)現(xiàn)后瀏覽器不預(yù)覽就可以直接下載,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • C#使用SQLDMO操作數(shù)據(jù)庫(kù)的方法

    C#使用SQLDMO操作數(shù)據(jù)庫(kù)的方法

    這篇文章主要介紹了C#使用SQLDMO操作數(shù)據(jù)庫(kù)的方法,實(shí)例分析了基于SQLDMO.dll動(dòng)態(tài)鏈接庫(kù)操作數(shù)據(jù)庫(kù)的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • 使用C#寫(xiě)了一個(gè)可以推算火車(chē)票身份證號(hào)碼的小程序

    使用C#寫(xiě)了一個(gè)可以推算火車(chē)票身份證號(hào)碼的小程序

    這篇文章主要介紹了使用C#寫(xiě)了一個(gè)可以推算火車(chē)票身份證號(hào)碼的小程序 的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • C#調(diào)用Python程序傳參數(shù)獲得返回值

    C#調(diào)用Python程序傳參數(shù)獲得返回值

    C# 調(diào)用 Python 程序有多種方式,本文主要介紹了4種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • WPF仿微信實(shí)現(xiàn)截圖功能的方法詳解

    WPF仿微信實(shí)現(xiàn)截圖功能的方法詳解

    這篇文章主要介紹了如何利用WPF實(shí)現(xiàn)截圖功能(仿微信),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下
    2022-07-07
  • C#實(shí)現(xiàn)FTP文件上傳下載的代碼詳解

    C#實(shí)現(xiàn)FTP文件上傳下載的代碼詳解

    本文詳細(xì)介紹了FTP協(xié)議和C#編程語(yǔ)言中處理FTP上傳下載任務(wù)的基本方法,文章首先解釋了FTP的文件傳輸基礎(chǔ),接著闡述了C#中如何使用FtpWebRequest和FtpWebResponse類(lèi)進(jìn)行文件上傳和下載的步驟,需要的朋友可以參考下
    2025-08-08
  • UnityRTS實(shí)現(xiàn)相機(jī)移動(dòng)縮放功能

    UnityRTS實(shí)現(xiàn)相機(jī)移動(dòng)縮放功能

    這篇文章主要為大家詳細(xì)介紹了UnityRTS實(shí)現(xiàn)相機(jī)的移動(dòng)縮放功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03

最新評(píng)論

延安市| 于都县| 彩票| 上虞市| 葵青区| 鄢陵县| 定西市| 正蓝旗| 章丘市| 汉寿县| 贺州市| 屏东市| 淳安县| 五华县| 屏山县| 潼关县| 左云县| 大兴区| 邯郸县| 平陆县| 集安市| 石门县| 丰城市| 万荣县| 格尔木市| 承德县| 新绛县| 屏边| 宣武区| 桐梓县| 阿坝县| 城口县| 龙江县| 安康市| 宜都市| 松溪县| 卓资县| 象州县| 新巴尔虎右旗| 邯郸市| 东源县|