我有一个循环写入一个字符串10次,每次都有一个更大的填充。 它还将每一行的背景颜色设置为深黄色。
int x = 5;
for (int i = 1; i <= 10; i++)
{
if (i % 2 == 0)
{
Console.BackgroundColor = ConsoleColor.DarkYellow;
}
else
{
Console.ResetColor();
}
x = x + 1;
string str = "word";
Console.WriteLine(str.PadLeft(x));
}
问题是我的深黄色行从行填充的开始一直被着色。但我只希望这个词本身是没有空格的深黄色。
答案 0 :(得分:2)
这只是在没有任何测试的情况下被黑客攻击,但应该知道如何使其工作:
int x = 5;
for (int i = 1; i <= 10; i++)
{
Console.ResetColor();
x = x + 1;
Console.Write("".PadLeft(x));
if (i % 2 == 0)
Console.BackgroundColor = ConsoleColor.DarkYellow;
string str = "word";
Console.WriteLine(str);
}
关键的变化是你不需要一次写下整行。您可以使用Console.Write()
来编写没有背景颜色的填充。然后用Console.WriteLine()
结束,写下单词+换行符。
答案 1 :(得分:2)
您应首先编写没有背景颜色的空格,然后只编写具有所选背景颜色的单词:
string