Array.ToString()返回System.Char [] c#

Nee*_*ham 4 c# arrays for-loop output

我正在制作一个刽子手游戏,在游戏开始时玩家必须猜出的单词被打印为星星.在尝试编写一次并且只是使用我无法修复的混乱代码之后,我才开始重新制作它.所以我决定再写一次.唯一的问题是,当我尝试通过使用array.ToString()来打印我的数组时; 它只返回System.char [].见下文.

码:

class Program
{
    static void Main(string[] args)
    {
        string PlayerOneWord;
        string PlayerTwoGuess;
        int lives = 5;

        Console.WriteLine("Welcome to hangman!\n PLayer one, Please enter the word which player Two needs to guess!");
        PlayerOneWord = Console.ReadLine().ToLower();

        var stars = new char[PlayerOneWord.Length];
        for (int i = 0; i < stars.Length ; i++)
        {
                stars[i] = '*';
        }

        string StarString = stars.ToString();

        Console.Write("Word to Guess: {0}" , StarString);

        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

产量

输出应该说Word to guess: Hello.

请有人解释为什么会发生这种情况,因为这不是我第一次遇到这个问题.

Cod*_*aos 9

无论类型是什么,ToString只调用一个简单的数组.它没有任何特殊处理."T[]"Tchar[]

要转换char[]string您可以使用:

string s = new string(charArray);
Run Code Online (Sandbox Code Playgroud)

但对于您的具体问题,有一个更简单的解决方案:

string stars = new string('*', PlayerOneWord.Length);
Run Code Online (Sandbox Code Playgroud)

构造函数public String(char c, int count)重复c count次数.