我正在學習Visual Studio 2015中重新學習Visual Basic的在線教程。該教程非常無聊,但無論如何,如果寶石或寶石可能藏在其中,我仍然會通過它們。在一篇教程中,我們創建一個字符串,將其轉換爲一個CharArray,反轉該數組,然後將其一次一個字符地輸出到控制檯。都好。然後,我決定只數組轉換回字符串和使用的WriteLine,踢...vb.NET教程:字符串charArray到字符串給出意想不到的結果。錯誤?
Module Module1
Sub Main()
Dim myText As String = "Hey, this is a string!"
Console.WriteLine(myText)
Dim myCharArray() As Char = myText.ToCharArray()
Array.Reverse(myCharArray)
Dim reversedText As String = myCharArray.ToString()
Console.WriteLine(reversedText)
' Console output is:
' Hey, this is a string!
' System.char[]
' Even less intuitive, for me, this:
Console.WriteLine(myCharArray)
' produces this:
' !gnirts a si siht ,yeH
' in the console. While this:
Console.WriteLine(myCharArray.ToString())
' gives System.char[] again.
Console.ReadLine()
End Sub
End Module
顯然的WriteLine有寫出的字符數組沒有問題。我的問題是爲什麼它將字符數組的字符串轉換打印爲System.char [],即使將該轉換顯式分配給String類型的對象時,如果將其他String對象作爲其實際字符串表示形式打印沒有問題。
我意識到這是一個微不足道的問題,但如果有一個潛在的原因,知識會幫助我避免一兩個錯誤,我想知道它。
爲char數組轉換爲字符串,你應該把它作爲參數字符串構造函數。 –
這很有道理。我只使用了CharArray的.toString()方法,因爲它是以intellisense的形式作爲可用於修補的方法之一。我通過你的回答假設.toString()實際上並沒有將它轉換爲String?雖然.toCharArray確實將字符串轉換爲CharArray? –
Infact,'ToString'將'Char []'轉換爲字符串類型名稱的字符串表示形式。但是您需要將其轉換爲從數組中的字符創建的字符串。 –