[英]C# assign char and char array to string?
char character = 'c';
string str = null;
str = character.ToString();//this is ok
char[] arrayChar = { 'a', 'b', 'c', 'd' };
string str2 = null;
str2 = string.Copy(arrayChar.ToString());//this is not ok
str2 = arrayChar.ToString();//this is not ok.
我正在嘗試將char數組轉換為字符串,但最后兩次嘗試不起作用。 我找到的其他來源,他們必須創建新的字符串類型,但我不知道為什么。 有人能給我一點解釋,謝謝。
您需要構造一個新字符串。
執行arrayChar.ToString()
調用char[]
類型的“ToString”方法,該方法不會重載以構造字符串,而是構造一個字符串,指定該類型是一個字符數組。 這不會給你你想要的行為。
通過str2 = new string(arrayChar);
構造一個新字符串str2 = new string(arrayChar);
但是,會給你你想要的行為。
問題是,在C#中(與C ++不同),字符串與字符數組不同。 這是兩種截然不同的類型(即使它們可以表示相同的數據)。 字符串可以枚舉為字符(String實現IEnumerable<Char>
),但就CLR而言,它不是與字符相同的類型。 進行轉換需要代碼在兩者之間進行轉換 - 字符串構造函數提供此機制。
new string(arrayChar);
有一個字符串構造函數 ,它接受一個char數組 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.