PadRight 当考虑到 crlf 不能正常工作时
PadRight when consider crlf is not working well
我要打印多行。每行都是一个字符串加上空格加上第二个字符串。
我希望每行中的第二部分字符串对齐。所以我使用 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);
}
输出喜欢
你可以看到三个 "Test" 没有垂直对齐。
如果你想对齐文本空格,那么你需要一个 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);
}
我要打印多行。每行都是一个字符串加上空格加上第二个字符串。
我希望每行中的第二部分字符串对齐。所以我使用 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);
}
输出喜欢
你可以看到三个 "Test" 没有垂直对齐。
如果你想对齐文本空格,那么你需要一个 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);
}