溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#字符串怎么使用

發(fā)布時(shí)間:2022-01-21 10:01:44 來源:億速云 閱讀:160 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了C#字符串怎么使用的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇C#字符串怎么使用文章都會(huì)有所收獲,下面我們一起來看看吧。

1、創(chuàng)建字符串

字符串是引用數(shù)據(jù)類型,聲明變量時(shí),需要使用 string 關(guān)鍵字。

例如:

string str = "This is a string!";

值得注意的是,在 C# 中,字符串類型的變量一定是用雙引號(hào)包裹的一串字符。而字符類型(char)使用單引號(hào)包裹起來的一個(gè)字符。

2、拼接字符串

在 C# 中拼接字符串的方法有很多,下面列舉幾種比較常見的拼接方式:

(1)使用拼接符號(hào)

可以直接使用 + 算術(shù)運(yùn)算符,對(duì)字符串進(jìn)行連接。

string s1 = "Hello";
string s2 = "World";
string s3 = s1 + s2;
Console.WriteLine(s3); // HelloWorld

字符串不僅是字符串之間可以拼接,而且可以和所有的數(shù)據(jù)類型進(jìn)行拼接。這是因?yàn)樗袛?shù)據(jù)類型都繼承自 Object 這個(gè)基類,而 Object 中又有 toString 方法。因此,只要子類不重寫這個(gè)方法,理論上來說,所有類型都可以轉(zhuǎn)換為字符串類型。

string s = "asdf";
int i = 3;
float f = 3.2f;
bool b = true;
Console.WriteLine(s + i); // asdf3
Console.WriteLine(s + f); // asdf3.2
Console.WriteLine(s + b); // asdftrue
(2)string.Concat

調(diào)用 string.Concat() 方法,傳入?yún)?shù)即可以完成拼接字符串。參數(shù)的個(gè)數(shù)至少是兩個(gè)。

string s1 = "I ";
string s2 = "\'m ";
int i = 18;
string s = string.Concat(s1, s2, i);
Console.WriteLine(s); // I 'm 18
(3)占位符拼接
string name = "小明";
int age = 22;
string s =string.Format("{0}今年{1}歲", name, age);
Console.WriteLine(s);
// 小明今年22歲
(4)$方式拼接

C# 6.0開始出現(xiàn)的 $ 方式,也可以用來拼接字符串。實(shí)際上其實(shí)就是 string.Format 的簡(jiǎn)化版。

string name = "小剛";
int num = 3;
string s = $"{name}蓋了{(lán)num}米高的樓層。";
Console.WriteLine(s);
// 小剛蓋了3米高的樓層。

3、比較字符串

字符串也是可以進(jìn)行比較的,比較方法有如下幾種:

(1)使用比較運(yùn)算符
string s1 = "Woooo";
string s2 = "Wooooa";
bool b = s1 == s2;
// false
(2)string.Compare

string.Compare(s1, s2) 對(duì)傳入的兩個(gè)字符串的各個(gè)字符進(jìn)行比較,如果每個(gè)字符的 Unicode 編碼值一樣,那么將會(huì)返回 0;如果比較到某個(gè)字符的編碼值不一樣,前者大則立刻返回 1;否則就返回 -1.

string s1 = "abb";
string s2 = "abc";
string s3 = "caa";
string s4 = "abc";
int n1 = string.Compare(s1, s2); // -1
int n2 = string.Compare(s3, s1); // 1
int n3 = string.Compare(s2, s4); // 0

該方法,還可以傳入第三個(gè)參數(shù),布爾值類型。當(dāng)布爾參數(shù)為 true 的時(shí)候,將不會(huì)區(qū)分大小寫。

string s1 = "abc";
string s2 = "ABC";
int n1 = string.Compare(s1, s2); // -1
int n2 = string.Compare(s1, s2, true); // 0
(3) string.Equals

sting.Equals(s1, s2) 和上面的 string.Compare 很相似,不同的是前者返回的是 true 或者 false。

string s1 = "abc";
string s2 = "bbc";
string s3 = "aac";
string s4 = "abc";
bool b1 = string.Equals(s1, s2); // false
bool b2 = string.Equals(s1, s3); // false
bool b3 = string.Equals(s1, s4); // true

4、占位符

在上面已經(jīng)有占位符的使用展示。

占位符,顧名思義,就是提前給你占位置,并標(biāo)好標(biāo)記。等人來,按照標(biāo)記好的順序坐下。

int n1 = 1;
int n2 = 2;
int n3 = 3;
Console.WriteLine("第{1}個(gè)位置,第{0}個(gè)位置,第{2}個(gè)位置", n1, n2, n3);
// 第2個(gè)位置,第1個(gè)位置,第3個(gè)位置

那么肯定會(huì)有這樣的一種情況,來的路上突然有個(gè)人要加進(jìn)來,但是位置提前安排了,結(jié)果不夠坐,會(huì)發(fā)生什么事情?

int n1 = 1;
int n2 = 2;
int n3 = 3;
int n4 = 4;
Console.WriteLine("第{1}個(gè)位置,第{0}個(gè)位置,第{2}個(gè)位置", n1, n2, n3, n4);
// 第2個(gè)位置,第1個(gè)位置,第3個(gè)位置

很顯然想要投機(jī)取巧的人,只配站著。

如果這個(gè)人不道德的話,不僅中途加入,還插在了第三個(gè)人前頭,那么他成功了。

int n1 = 1;
int n2 = 2;
int n3 = 3;
int n4 = 4;
Console.WriteLine("第{1}個(gè)位置,第{0}個(gè)位置,第{2}個(gè)位置", n1, n2, n4, n3);
// 第2個(gè)位置,第1個(gè)位置,第4個(gè)位置

被插隊(duì)的人就很遺憾只能站著了!

有時(shí)候主辦方很聰明,料到有些人會(huì)不請(qǐng)自來,這時(shí)候會(huì)多安排一些個(gè)位置??山Y(jié)果,人來少了,位置還多余了,會(huì)發(fā)生什么呢?

int n1 = 1;
int n2 = 2;
Console.WriteLine("第{1}個(gè)位置,第{0}個(gè)位置,第{2}個(gè)位置", n1, n2);

C#字符串怎么使用

來的人就發(fā)現(xiàn)還有這么多位置沒有人,看來這主辦方不行啊,這臺(tái)戲肯定不好看,散伙散伙!

從上面可以得出,位置可以少,但不能多;值可以多,但一定不能少,否則就會(huì)拋出以上這樣的異常。

5、轉(zhuǎn)義字符

轉(zhuǎn)移符號(hào) \

轉(zhuǎn)義字符即轉(zhuǎn)移符號(hào)加上特定的字符組成的一個(gè)特殊字符,可以在編程表示一些內(nèi)容:

轉(zhuǎn)義字符作用
\'在字符串中顯示單引號(hào)
\"在字符串中顯示雙引號(hào)
\t制表符,相當(dāng)于 tab 鍵
\n換行,相當(dāng)于敲下了回車鍵
\\在字符串中顯示斜杠符號(hào)
string s = "小明說:\"我很帥!\"\n小紅說:\"\t\\yue\\\t\"";
Console.WriteLine(s);

C#字符串怎么使用

關(guān)于“C#字符串怎么使用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“C#字符串怎么使用”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI