PadRight当考虑crlf不能正常工作时

时间:2017-04-19 19:40:13

标签: c# text-alignment

我想打印很多行。每一行都是一个字符串加上空格加上第二个字​​符串。

我希望每行中的第二部分字符串对齐。所以我使用PadRight;但它运作不佳。

代码:

void Main()
{
   var str ="Hellooooo".PadRight(50)+"Test";
   str += (Environment.NewLine+"World").PadRight(50)+"Test";
   str+= (Environment.NewLine+"Hello Worldoooooooo").PadRight(50)+"Test";
   Console.WriteLine(str);
}

输出喜欢 1

您可以看到三个“测试”没有垂直对齐。

1 个答案:

答案 0 :(得分:0)

如果你想对齐文本空格,那么你需要一个mono space font(每个字符宽度相同),比如courier new。

同样Environment.NewLine位于第二个和第三个字符串中,但不是第一个字符串。

修复Environment.NewLine并使用等宽字体时,可以使用:

public static void Main()
{
    var str ="Hellooooo".PadRight(50)+"Test";
    str += Environment.NewLine + ("World").PadRight(50)+"Test";
    str += Environment.NewLine + ("Hello Worldoooooooo").PadRight(50)+"Test";
    Console.WriteLine(str);
}

result

请参阅live demo