Mega Code Archive

 
Categories / C# / Generics
 

Generic collection class

using System; using System.Collections.Generic; public class Bag<T> {     private List<T> items = new List<T>();     public void Add(T item) {         items.Add(item);     }     public T Remove() {         T item = default(T);         if (items.Count != 0) {             Random r = new Random();             int num = r.Next(0, items.Count);             item = items[num];             items.RemoveAt(num);         }         return item;     }     public T[] RemoveAll() {         T[] i = items.ToArray();         items.Clear();         return i;     } } public class MainClass {     public static void Main(string[] args) {         Bag<string> bag = new Bag<string>();         bag.Add("D");         bag.Add("B");         bag.Add("G");         bag.Add("M");         bag.Add("N");         bag.Add("I");         Console.WriteLine("Item 1 = {0}", bag.Remove());         Console.WriteLine("Item 2 = {0}", bag.Remove());         Console.WriteLine("Item 3 = {0}", bag.Remove());         Console.WriteLine("Item 4 = {0}", bag.Remove());         string[] s = bag.RemoveAll();     } }