将字符串与空格对齐

本文关键字:对齐 空格 字符串 | 更新日期: 2023-09-27 18:31:11

有没有办法在 C# 中完美对齐两个字符串?我正在尝试将字符串"CBI"与"中央调查局"对齐,我希望两个字符串都占 35 个字符。我使用该功能

string.Format("{0,-35}", str);

以设置两个字符串的格式。但它们似乎没有正确对齐。它与字体设置有关吗?我必须在 excel 的图表中使用这些字符串,它们必须在屏幕上占据相同的宽度

将字符串与空格对齐

是的,有PadLeft和PadRight

str.PadLeft(35);
str.PadRight(35);
str = "BBQ and Slaw";
Console.WriteLine(str.PadLeft(15));  // Displays "   BBQ and Slaw".
Console.Write(str.PadRight(15));     // Displays "BBQ and Slaw   ".

文档中的旁注:

但是,如果 totalWidth 小于此实例的长度,则该方法返回对现有实例的引用

基本上,如果您的长度小于字符串的

长度,则返回现有字符串的引用


如果EvenMcDonnal希望将其包含在答案中,我很乐意将其从答案中删除。

您可以在此处找到可以使用的等宽字体列表

我发现我从不满足于等宽字体,所以我使用带有微空格字符(约 1 像素宽)(字符)的字符填充0x200A来排列内容。 这在模拟字符串列表的列对齐时特别有用。 最灵活的方法是使用 while 循环比较字符串像素宽度并添加空格字符直到匹配。 我使用带有NoPadding标志的System.Windows.Forms.TextRenderer.MeasureText(),并且只是为了保存,初始大小为int。MaxValue,然后检查 System.Drawing.Size 的 Width 参数。 如果在 MeasureText 构造函数中输入任何字体,则它适用于任何字体。