c# - 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(" ");
}
谁能告诉我如何修复第一个代码?
解决方案
char
name 指的是字符,在'* '
代码中有两个字符:'*'
和' '
(空格)。因此,它应该是一个字符串,字符和字符串因引号类型而异:'
vs "
. 不幸的是,构造函数没有重载string
来接受另一个字符串和乘数。所以你需要用不同的方法重现相同的逻辑。其中之一如下
var newStr = string.Join(string.Empty, Enumerable.Repeat("* ", 3));
推荐阅读
- delphi - Delphi中如何创建文件夹和txt文件
- cypress - beforeEach() 在柏树中是否按预期工作?
- python - 在一行中的 2 个分隔符之间提取多次出现
- linux - Linux 原始套接字:阻止数据包?
- ruby-on-rails - 命名空间嵌套资源
- python - 如何修补 datetime.datetime.now() 使其通过 isinstance 测试?
- python - 端口 Matlab 代码涉及 matplotlib 设置轴位置(以像素为单位)
- javascript - 如何删除父/子依赖?
- c++ - 在抛出“std::regex_error”what() 的实例后调用终止:括号未关闭
- javascript - 解析 XML 以获取节点值