Skip to content

Instantly share code, notes, and snippets.

@Zepheus
Created December 6, 2013 15:14

Revisions

  1. Zepheus created this gist Dec 6, 2013.
    28 changes: 28 additions & 0 deletions gistfile1.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    static void PrintFrame(string[] args)
    {
    var maxLen = args.Select(s => s.Trim().Length).Max();
    for (var i = 0; i < maxLen + 4; ++i)
    Console.Write("*");

    Console.WriteLine();
    var center = maxLen / 2;
    foreach (var s in args)
    {
    Console.Write("* ");
    var padding = center - (s.Length / 2);
    for (var i = 0; i < padding; ++i)
    Console.Write(" ");
    Console.Write(s.Trim());

    padding = s.Length % 2 == 0 ? padding : padding - 1;

    for (var i = 0; i < padding; ++i)
    Console.Write(" ");

    Console.WriteLine(" *");
    }

    for (var i = 0; i < maxLen + 4; ++i)
    Console.Write("*");
    Console.WriteLine();
    }