C# 字符串(String)

在C#中,字符串是用于表示文本的一系列字符。它可以是字符,單詞 或 用雙引號“引起來的長段落。以下是字符串文字。

"S"
"String"
"This is a string."

C#提供String數(shù)據(jù)類型來存儲字符串字面量。可以聲明字符串類型的變量并分配字符串字面量,如下所示。

string ch = "S";
string word = "String";
string text = "This is a string.";

字符串對象在內(nèi)存中的最大大小為2GB,約為10億字符。然而,在實際應(yīng)用中,它對計算機(jī)的CPU和內(nèi)存的依賴較少。

有兩種方法可以在C#中聲明字符串變量。使用 System.String 類和 string 關(guān)鍵字。兩者是相同的,沒有區(qū)別。

string str1 = "Hello"; // 使用字符串關(guān)鍵字
 
String str2 = "Hello"; // 使用System.String類

在C#中,字符串是字符的集合或數(shù)組。因此,可以使用char數(shù)組創(chuàng)建字符串,也可以像char數(shù)組一樣訪問字符串。

char[] chars = {'H','e','l','l','o'};

string str1 = new string(chars);  
String str2 = new String(chars); 

foreach (char c in str1)
{
    Console.WriteLine(c);
}

特殊字符

現(xiàn)實世界中的文本可以包含任何字符。 在C#中,因為字符串用雙引號引起來,所以它不能在字符串中包含(”)。以下內(nèi)容將給出編譯時錯誤。

string text = "This is a "string" in C#.";

C#在這些特殊字符之前將轉(zhuǎn)義字符\(反斜杠)包括在字符串中。

在雙引號前使用反斜杠\和一些特殊字符(如\、\n、\r、\t等)將其包含在字符串中。

string text = "This is a \"string\" in C#.";
string str = "xyzdef\\rabc";
string path = "\\\\mypc\\ shared\\project";

但是,為每個特殊字符加上\將非常繁瑣。用@前綴的字符串表示應(yīng)將其視為字面量,并且不能轉(zhuǎn)義任何字符。

string str = @"xyzdef\rabc";
string path = @"\\mypc\shared\project";
string email = @"[email protected]";

使用 @ 和 \ 聲明多行字符串。

string str = @"this is a \
multi line \
string";

請注意,在字符串中必須使用反斜杠才能允許出現(xiàn)雙引號 ”。@僅適用于C#中的特殊字符。

string text = @"This is a "string." in C#."; // 錯誤
string text = @"This is a \"string\" in C#."; // 錯誤
string text = "This is a \"string\" in C#."; // 有效

字符串串聯(lián)

多個字符串可以用 + 運算符連接。

string name = "Mr." + "James " + "Bond" + ", Code: 007";
 
string firstName = "James";
string lastName = "Bond";
string code = "007";
 
string agent = "Mr." + firstName + " " + lastName + ", Code: " + code;

字符串在C#中是不可變的。這意味著它是只讀的,一旦在內(nèi)存中創(chuàng)建就無法更改。每次串聯(lián)字符串時,.NET CLR都會為串聯(lián)的字符串創(chuàng)建一個新的內(nèi)存位置。因此,如果串聯(lián)五個以上的字符串,建議使用StringBuilder而不是字符串。

字符串插值

字符串插值是連接字符串的更好方法。我們使用+符號將字符串變量與靜態(tài)字符串連接在一起。

C#6包含一個特殊字符$,用于標(biāo)識插值的字符串。插值字符串是靜態(tài)字符串和字符串變量的混合,其中字符串變量應(yīng)放在{}括號中。

string firstName = "James";
string lastName = "Bond";
string code = "007";
 
string fullName = $"Mr. {firstName} {lastName}, Code: {code}";

在上述插值示例中,$表示插值的字符串,而{}包括要與字符串合并的字符串變量。

使用兩個大括號“{{”或“}}”在字符串中包含 { 或 } 。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清