我几天前开始在算法类(class)中使用 C#。 我有作业,有些事情需要解释。 我需要创建一个具有三个级别的刽子手游戏,每个级别有四个单词可供猜测。
我要在屏幕上打印的是:
Level 1 : oooo
Level 2 : oooo
Level 3 : oooo
每当在关卡中找到一个单词时,“空心圆圈”就会被填满。
为了渲染它,我决定创建一个 char[ ]
。
这是我正在使用的函数:
public static char[] DisplayEmptyCircles(List<string> listLevel)
{
char[] emptyCircle = new char[listLevel.Count];
for (int counterCircles = 0; counterCircles < listLevel.Count; counterCircles++)
{
emptyCircle[counterCircles] = Convert.ToChar(9675);
}
return emptyCircle;
}
当我使用这两个单独的指令时,一切顺利:
Console.Write("Level 1 : ");
Console.Write(DisplayEmptyCircles(firstLevel));
但我第一次使用这个并打印了一个 System.Char[ ]
而不是空圆圈:
Console.WriteLine("Level 1 : " + DisplayEmptyCircles(firstLevel));
谁能告诉我为什么?
很抱歉,我知道这个问题已经被问过了,但我对 C# 几乎一无所知。这只是开始学习和理解。
最佳答案
您的 DisplayEmptyCircles
返回一个 char
数组,因此它不能连接成一个字符串。您可以在调用 Console.Write
时让您的函数返回一个字符串或将其结果转换为字符串。
如果只是想创建一个包含N个圆圈的字符串,那么可以通过更简单的方式实现:
public static string DisplayEmptyCircles(int count)
{
return new string((char)9675, count);
}
Console.WriteLine("Level 1 : " + DisplayEmptyCircles(firstLevel.Count));
代码中的一些其他更改:
- 它不使用
char[]
而是利用String(char c, int count)
constuctor DisplayEmptyCircles
实际上不需要有关级别的信息,它只需要计数- 你不需要使用
Convert.ToChar
,因为它只是做一些额外的检查,当你有一个常量值时这些检查是多余的
关于c# - Console.WriteLine ("text"+ 函数(参数));不起作用,但该指令分为两个 Console.Write 工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54023621/