12 Days of Christmas
Lest I be accused of not sharing some Christmas cheer, I thought I’d make up for my previous grumpy posts by singing “The 12 Days of Christmas” to all you lovely folks. Because I try not to stick with tradition, I’m going to sing it in the key of C#:
List<string> pGiftsReceived = new List<string>();
for (int nDay = 1; nDay <= 12; nDay++)
{
Console.WriteLine("On the " + ToOrdinal(nDay) + " day of Christmas,");
Console.WriteLine("my true love sent to me");
switch (nDay)
{
case 1 : pGiftsReceived.Add("And a partridge in a pair tree."); break;
case 2 : pGiftsReceived.Add("Two turtle doves,"); break;
case 3 : pGiftsReceived.Add("Three French hens,"); break;
case 4 : pGiftsReceived.Add("Four calling birds,"); break;
case 5 : pGiftsReceived.Add("Five golden rings,"); break;
case 6 : pGiftsReceived.Add("Six geese a-laying,"); break;
case 7 : pGiftsReceived.Add("Seven swans a-swimming,"); break;
case 8 : pGiftsReceived.Add("Eight maids a-milking,"); break;
case 9 : pGiftsReceived.Add("Nine ladies dancing,"); break;
case 10 : pGiftsReceived.Add("Ten lords a-leaping,"); break;
case 11 : pGiftsReceived.Add("Eleven pipers piping,"); break;
case 12 : pGiftsReceived.Add("Twelve drummers drumming,"); break;
}
for (int j = pGiftsReceived.Count - 1; j >= 0; j--)
{
string sGift = pGiftsReceived[j];
if (nDay == 1 && j == 0) sGift = sGift.Substring(4);
Console.WriteLine(sGift);
}
Console.WriteLine();
}
Although I’m slightly embarassed to admit it (and I run a serious risk of receiving accusations of being a “dork” from certain quarters) I have actually compiled and run this code.