C#在控制台中右对齐文本

jac*_*ith 7 c# string console

有没有办法让我将文本与控制台应用程序的右侧对齐?我想在同一行但在右侧打印一个带"[ok]"的字符串.就像你在启动Linux Distro时看到的那样.

Gra*_*ICA 16

你可以做这样的事情,如果你使用的是Console.WriteLine ......

Console.WriteLine("{0,-20} {1,20}", "Finished!", "[ok]");
Run Code Online (Sandbox Code Playgroud)

假设你的行是40个字符宽,单词"Finished"将在20个字符的字段中左对齐,然后单词"[ok]"将在另一个20个字符的字段中右对齐.所以你最终得到类似的东西

Finished!                            [ok]
Run Code Online (Sandbox Code Playgroud)


小智 7

@Oded说,我建议使用诅咒.

如果您确实不想使用任何第三方库,则可以使用Console.BufferWidth获取控制台的大小,然后Console.Console.CursorLeft设置列位置.

Console.CursorLeft = Console.BufferWidth - 4;
Console.Write("[ok]");
Run Code Online (Sandbox Code Playgroud)

上面打印[ok]在当前行的末尾,将光标留在第一列,下一行