如何在控制台应用程序中居中文本?

时间:2014-02-20 19:06:23

标签: c# console

我正在创建一个控制台应用程序,我需要将文本居中。有没有一种简单的方法可以做到这一点,或者我必须在文本之前放置空格直到它居中?谢谢你的帮助。

示例,使用“|”作为控制台的中心:                                         你好|世界

2 个答案:

答案 0 :(得分:11)

string s = "Hello|World";
Console.SetCursorPosition((Console.WindowWidth - s.Length) / 2, Console.CursorTop);
Console.WriteLine(s);

答案 1 :(得分:3)

首先通过将Console.WindowWidth属性除以2来获得控制台的中心。然后,您可以更进一步,更加精确;得到你的字符串的长度并将其除以2.将这两个数字加在一起,它将是完美的。

    string textToEnter = "44444444444444444444444444444444444444444444";
    Console.WriteLine(String.Format("{0," + ((Console.WindowWidth / 2) + (textToEnter.Length / 2)) + "}", textToEnter));
    Console.Read();

enter image description here

如果您对String.Format()的使用不太熟悉,请看一下:

http://www.dotnetperls.com/string-format