使用C#中的String.Format格式化字符串时出现问题

Sam*_*Sam 3 c# string.format messagebox

我需要在特定格式的消息框中打印一个字符串,我使用的代码如下所示:

string text=""; 
for (int i=0; i<n; i++)
{
   a=..
   b=..
   c=..
   text += String.Format("{0, -8} {1,-4} {2,8}", a, b, c);
}
MessageBox.Show(text);
Run Code Online (Sandbox Code Playgroud)

因此,对于以下一组值:

XYZ,ABC,100

X,ABC,100
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

XYZ     ABC     100

X     ABC     100
Run Code Online (Sandbox Code Playgroud)

所以你可以看到第二行格式不正确.可能这种情况正在发生,因为我在MessageBox中打印它.角色和"空间"所占据的空间是不同的.对此有何解决方案?

Bob*_*ack 5

尝试使用a \t在值之间插入制表符.