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.
请有人解释为什么会发生这种情况,因为这不是我第一次遇到这个问题.
无论类型是什么,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次数.
| 归档时间: |
|
| 查看次数: |
3570 次 |
| 最近记录: |