有没有方法可以使文本在控制台应用程序中右对齐?我想要将带有“[ok]”的字符串打印在同一行的右侧,就像启动Linux发行版时看到的那样。
如果你使用的是Console.WriteLine,你可以像这样做...
Console.WriteLine("{0,-20} {1,20}", "Finished!", "[ok]");
假设您的行宽为40个字符,单词“Finished”将左对齐在20个字符的字段中,然后单词“[ok]”将右对齐在另一个20个字符的字段中。所以你最终得到的结果看起来像是:
Finished! [ok]
我建议像@Oded所说的那样使用curses。
如果您真的不想使用任何第三方库,您可以使用Console.BufferWidth
来获取控制台大小,然后使用Console.Console.CursorLeft
设置列位置。
Console.CursorLeft = Console.BufferWidth - 4;
Console.Write("[ok]");
上面的代码在当前行末尾打印出 [ok],并将光标留在第一列下一行。