/* C# Programming Tips & Techniques by Charles Wright, Kris Jamsa Publisher: Osborne/McGraw-Hill (December 28, 2001) ISBN: 0072193794 */ namespace nsSwitch { using System; public class nsSwitch { static void Main () { bool done = false; do { clsAnimal dog = new clsAnimal (1); clsAnimal cat = new clsAnimal (2); clsAnimal goldfish = new clsAnimal (3); clsAnimal aardvark = new clsAnimal (4); Console.WriteLine ("Select one of the following:"); Console.WriteLine (" 1 -- For dogs"); Console.WriteLine (" 2 -- For cats"); Console.WriteLine (" 3 -- For goldfish"); Console.WriteLine (" 4 -- For aardvarks"); Console.Write ("Enter Your selection (0 to exit): "); string strSelection = Console.ReadLine (); int iSel; try { iSel = int.Parse(strSelection); } catch (FormatException) { Console.WriteLine (" What? "); continue; } Console.WriteLine ("You selected " + iSel); switch (iSel) { case 0: done = true; break; case 1: Console.WriteLine (dog); break; case 2: Console.WriteLine (cat); break; case 3: Console.WriteLine (goldfish); break; case 4: Console.WriteLine (aardvark); break; default: Console.WriteLine ("You selected an invalid number: {0} ", iSel); continue; } Console.WriteLine (); } while (!done); Console.WriteLine (" Goodbye!"); } } class clsAnimal { public clsAnimal (int Type) { PetType = Type; } private int Type; public int PetType { get {return (Type);} set {Type = value;} } public override string ToString() { switch (PetType) { default: return ("Unknown pet"); case 1: return ("Your pet type is a dog"); case 2: return ("Your pet type is a cat"); case 3: return ("Your pet type is a goldfish"); case 4: return ("Your pet type is an aardvark"); } } } }