Вы можете использовать CsConsoleFormat † для рисования с помощью символов границы ASCII в консоли.
Рисование числа в прямоугольнике с "двойными" линиями:
ConsoleRenderer.RenderDocument(
new Document()
.AddChildren(
new Border {
Stroke = LineThickness.Wide,
Align = HorizontalAlignment.Left
}
.AddChildren(1337)
)
);
Вы можете изменить Stroke = LineThickness.Wide
линию, чтобы изменить стиль линий.LineThickness.Single
будет производить тонкие одиночные линии, new LineThickness(LineWidth.Single, LineWidth.Wide)
будет производить одиночные вертикальные и двойные горизонтальные линии.
Вот как это выглядит:
Вы можететакже используйте ConsoleBuffer
класс для явного рисования линий (имена аргументов добавлены для ясности):
using static System.ConsoleColor;
var buffer = new ConsoleBuffer(width: 6);
buffer.DrawHorizontalLine(x: 0, y: 0, width: 6, color: White);
buffer.DrawHorizontalLine(x: 0, y: 2, width: 6, color: White);
buffer.DrawVerticalLine(x: 0, y: 0, height: 3, color: White);
buffer.DrawVerticalLine(x: 5, y: 0, height: 3, color: White);
buffer.DrawString(x: 1, y: 1, color: White, text: "1337");
new ConsoleRenderTarget().Render(buffer);
† CsConsoleFormat был разработан мной.