Composite Formatting

Example 1:

int num01 = 23;
Console.WriteLine("num01 01: " + num01);
Console.WriteLine("num01 02: {0}", num01);
Console.WriteLine("num01 03: {0:000}", num01);
Console.WriteLine("num01 04: {0:00.000}", num01);
Console.WriteLine("num01 05: {0:N3}", num01);
Console.WriteLine("num01 06: {0:x}", num01);
Console.WriteLine("num01 07: {0:X}", num01); // No difference to L7
Console.WriteLine("num01 08: {0:e}", num01);
Console.WriteLine("num01 09: {0:n}", num01);
Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine("num01 10: {0:c}", num01);
Console.WriteLine("num01 11: {0} " + num01, num01);

Output

num01 01: 23
num01 02: 23
num01 03: 023
num01 04: 23,000
num01 05: 23,000
num01 06: 17
num01 07: 17
num01 08: 2,300000e+001
num01 09: 23,00
num01 10: 23,00 €
num01 11: 23 23

Example 2:

string[] names = { "alf", "bert", "carl" };
int[] points = { 12, 654321, 123456789 };
for (int i = 0; i < 3; i++) {
    Console.WriteLine("{0,-10}{1:N2}", names[i], points[i]);
}
Console.ReadLine();

Output

alf       12,00
bert      654.321,00
carl      123.456.789,00