首页 > 解决方案 > Console.Write(new string('* ', n) 字符文字中的字符太多

问题描述

所以我希望它像这样工作

Console.WriteLine(new string('* ', 3);

Output:
* * * 

但相反,它只是说“字符文字中的字符太多”,我必须这样做:

for (int i =0; i < 3; i ++)
     {
         for (int j = 0; j < 3; j++)
         {
             Console.Write("*");
             Console.Write(" ");
         } 

谁能告诉我如何修复第一个代码?

标签: c#

解决方案


charname 指的是字符,在'* '代码中有两个字符:'*'' '(空格)。因此,它应该是一个字符串,字符和字符串因引号类型而异:'vs ". 不幸的是,构造函数没有重载string来接受另一个字符串和乘数。所以你需要用不同的方法重现相同的逻辑。其中之一如下

var newStr = string.Join(string.Empty, Enumerable.Repeat("* ", 3));

推荐阅读