document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. //Enumtricks.cs
  2. using System;
  3.  
  4. // declares the enum
  5. public enum Volume : byte
  6. {
  7.     Low = 1,
  8.     Medium,
  9.     High
  10. }
  11.  
  12. // shows different ways
  13. // to work with enums
  14. class Enumtricks
  15. {
  16.     static void Main(string[] args)
  17.     {
  18.         // instantiate type
  19.         Enumtricks enumtricks = new Enumtricks();
  20.  
  21.         // demonstrates explicit cast
  22.         // of int to Volume
  23.         enumtricks.GetEnumFromUser();
  24.  
  25.         // iterate through Volume enum by name
  26.         enumtricks.ListEnumMembersByName();
  27.  
  28.         // iterate through Volume enum by value
  29.         enumtricks.ListEnumMembersByValue();
  30.  
  31.         Console.ReadLine();
  32.     }
  33.  
  34.     // demonstrates explicit cast
  35.     // of int to Volume
  36.     public void GetEnumFromUser()
  37.     {
  38.         Console.WriteLine("\\n----------------");
  39.         Console.WriteLine("Volume Settings:");
  40.         Console.WriteLine("----------------\\n");
  41.  
  42.         Console.Write(@"
  43. 1 - Low
  44. 2 - Medium
  45. 3 - High
  46.  
  47. Please select one (1, 2, or 3): ");
  48.  
  49.         // get value user provided
  50.         string volString = Console.ReadLine();
  51.         int volInt = Int32.Parse(volString);
  52.  
  53.         // perform explicit cast from
  54.         // int to Volume enum type
  55.         Volume myVolume = (Volume)volInt;
  56.  
  57.         Console.WriteLine();
  58.  
  59.         // make decision based
  60.         // on enum value
  61.         switch (myVolume)
  62.         {
  63.             case Volume.Low:
  64.                 Console.WriteLine("The volume has been turned Down.");
  65.                 break;
  66.             case Volume.Medium:
  67.                 Console.WriteLine("The volume is in the middle.");
  68.                 break;
  69.             case Volume.High:
  70.                 Console.WriteLine("The volume has been turned up.");
  71.                 break;
  72.         }
  73.  
  74.         Console.WriteLine();
  75.     }
  76.  
  77.     // iterate through Volume enum by name
  78.     public void ListEnumMembersByName()
  79.     {
  80.         Console.WriteLine("\\n---------------------------- ");
  81.         Console.WriteLine("Volume Enum Members by Name:");
  82.         Console.WriteLine("----------------------------\\n");
  83.  
  84.         // get a list of member names from Volume enum,
  85.         // figure out the numeric value, and display
  86.         foreach (string volume in Enum.GetNames(typeof(Volume)))
  87.         {
  88.             Console.WriteLine("Volume Member: {0}\\n Value: {1}",
  89.                 volume, (byte)Enum.Parse(typeof(Volume), volume));
  90.         }
  91.     }
  92.  
  93.     // iterate through Volume enum by value
  94.     public void ListEnumMembersByValue()
  95.     {
  96.         Console.WriteLine("\\n----------------------------- ");
  97.         Console.WriteLine("Volume Enum Members by Value:");
  98.         Console.WriteLine("-----------------------------\\n");
  99.  
  100.         // get all values (numeric values) from the Volume
  101.         // enum type, figure out member name, and display
  102.         foreach (byte val in Enum.GetValues(typeof(Volume)))
  103.         {
  104.             Console.WriteLine("Volume Value: {0}\\n Member: {1}",
  105.                 val, Enum.GetName(typeof(Volume), val));
  106.         }
  107.     }
  108. }
');