在 C# 中格式化字符串

Formatting strings in C#

我正在尝试将数组元素格式化为 table,其中一些列右对齐,一些左对齐,如 Composite Formatting article (or )

所示

为什么我接到 FormatExceptionConsole.WriteLine 电话?

下面是演示这一点的示例:

using System;
namespace ConsoleApplication97
{
    class Program
    {
        public struct User
        {
            public string Name;
            public byte Age;
        }
        static void Main(string[] args)
        {
            User[] Bar = new User[2];
            Bar[0].Name = "Jan Kowalski";
            Bar[0].Age = 32;
            Bar[1].Name = "Piotr Nowak";
            Bar[1].Age = 56;
            for (int i = 0; i < Bar.Length; i++)
            {
                Console.WriteLine("{0 , -15} | { 1,  5}", Bar[i].Name, Bar[i].Age);
            }
            Console.ReadLine();
        }
    }
}

值"Name"应该在左边(对齐-15),"Age"应该在右边(对齐5)。

有趣 - 格式化程序似乎对格式字符串中的多余空格很挑剔。这对我有用:

Console.WriteLine("{0, -15} | {1, 5}", Bar[i].Name, Bar[i].Age);