簡體   English   中英

C#將char和char數組分配給字符串?

[英]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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM