【发布时间】:2020-11-30 15:51:46
【问题描述】:
嗨,我试图将 ascii 艺术粘贴到 C# 中的屏幕中心,它将普通文本打印到屏幕中心,但不是 ascii 艺术,有什么想法吗? (对不起,我是 C# 新手)
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string textToEnter = @"
/$$$$$$$$ /$$$$$$$$ /$$$$$$ /$$$$$$$$
|__ $$__/| $$_____/ /$$__ $$|__ $$__/
| $$ | $$ | $$ \__/ | $$
| $$ | $$$$$ | $$$$$$ | $$
| $$ | $$__/ \____ $$ | $$
| $$ | $$ /$$ \ $$ | $$
| $$ | $$$$$$$$| $$$$$$/ | $$
|__/ |________/ \______/ |__/
";
Console.WriteLine(String.Format("{0," + ((Console.WindowWidth / 2) + (textToEnter.Length / 2)) + "}", textToEnter));
Console.Read();
Console.WriteLine("Hello World!");
}
}
}
【问题讨论】:
-
textToEnter.Length是文本的总长度(即所有行中的每个字符),这不是您想要的。您需要文本中任何单行的最大长度。循环遍历每一行,找出最长的那一行的长度。您还想在每行的开头添加填充,而不是在整个字符串的开头(与第一行的开头相同) -
我能举个例子吗? ://
-
循环遍历字符串中的每一行?大量的想法here——为了简单起见,我会使用
.Split('\n')
标签: c# console console-application