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

标签 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();
    }
}

输出:

Output

输出应该是猜词:你好

请有人解释为什么会这样,因为这不是我第一次遇到这个问题。

最佳答案

在简单数组上调用 ToString 只会返回 "T[]" 而不管 T 的类型是什么。它对 char[] 没有任何特殊处理。

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

string s = new string(charArray);

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

string stars = new string('*', PlayerOneWord.Length);

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

关于c# - Array.ToString() 返回 System.Char[] c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27125430/

相关文章:

C# 在 mysql 查询表名的参数中转义字符

c# - CS0019 无法将 Vector2 与 double 相乘

arrays - 在 D 中切片二维数组

java - 使用 hashCode 获取数组 java 元素的索引

python - Django forloop索引操作

c - 相同翻转三角形的可能解决方案

c# - 使用 Properties.Settings.Default 作为 DisplayName 的参数

c# - 我可以在我的 Winform c# 应用程序中使用 SignalR 吗?

javascript - 无法在 React Native 中显示数组

javascript - 在 Google Apps 脚本中返回空值