Mega Code Archive

 
Categories / C# / Collections Data Structure
 

Use BitArray collection as Flag

using System; using System.Collections; public class Starter {     public static void Main() {         Hashtable employees = new Hashtable();         employees.Add("A100", new Employee("Ben", true, false, true));         employees.Add("V100", new Employee("Valerie", false, false, true));         Participation((Employee)employees["A100"]);         Participation((Employee)employees["V100"]);     }     public static void Participation(Employee person) {         Console.WriteLine(person.Name + ":");         if (person.InProfitSharing) {             Console.WriteLine(" Participating in Profit Sharing");         }         if (person.InHealthPlan) {             Console.WriteLine(" Participating in Health Plan");         }         if (person.InCreditUnion) {             Console.WriteLine(" Participating in Credit Union");         }     } } public class Employee {     public Employee(string emplName) {         propName = emplName;         eflags.SetAll(true);     }     public Employee(string emplName,                     bool profitSharing,                     bool healthPlan,                     bool creditUnion) {         propName = emplName;         InProfitSharing = profitSharing;         InHealthPlan = healthPlan;         InCreditUnion = creditUnion;     }     private BitArray eflags = new BitArray(3);     public bool InProfitSharing {         set {             eflags.Set(0, value);         }         get {             return eflags.Get(0);         }     }     public bool InHealthPlan {         set {             eflags.Set(1, value);         }         get {             return eflags.Get(1);         }     }     public bool InCreditUnion {         set {             eflags.Set(2, value);         }         get {             return eflags.Get(2);         }     }     private string propName;     public string Name {         get {             return propName;         }     } }