Mega Code Archive

 
Categories / C# / Collections Data Structure
 

Get the size of a list

using System; using System.Collections.ObjectModel; using System.Collections.Generic; using System.Text; using System.Runtime.Serialization; public class Customer : System.IComparable {     private int _id;     private string _name;     private string _rating;     private static SortOrder _order;     public enum SortOrder {         Ascending = 0,         Descending = 1     }     public Customer(int id, string name)         : this(id, name, "Other") {     }     public Customer(int id, string name, string rating) {         this._id = id;         this._name = name;         this._rating = rating;     }     public int Id {         get { return this._id; }         set { this._id = value; }     }     public string Name {         get { return this._name; }         set { this._name = value; }     }     public string Rating {         get { return this._rating; }         set { this._rating = value; }     }     public static SortOrder Order {         get { return _order; }         set { _order = value; }     }     public override bool Equals(Object obj) {         bool retVal = false;         if (obj != null) {             Customer custObj = (Customer)obj;             if ((custObj.Id == this.Id) &&                 (custObj.Name.Equals(this.Name) &&                 (custObj.Rating.Equals(this.Rating))))                 retVal = true;         }         return retVal;     }     public override string ToString() {         return this._id + ": " + this._name;     }     public int CompareTo(Object obj) {         switch (_order) {             case SortOrder.Ascending:                 return this.Name.CompareTo(((Customer)obj).Name);             case SortOrder.Descending:                 return (((Customer)obj).Name).CompareTo(this.Name);             default:                 return this.Name.CompareTo(((Customer)obj).Name);         }     } } public class CollectionTest {     public static void Main() {         int capacity = 2;         List<Customer> custList = new List<Customer>(capacity);         for (int idx = 1; idx <= 12; idx++) {             custList.Add(new Customer(idx, "Customer" + idx));             if (custList.Capacity > capacity) {                 Console.Out.WriteLine("Current Count: {0}", custList.Count);                 Console.Out.WriteLine("Old Capacity : {0}", capacity);                 Console.Out.WriteLine("New Capacity : {0}", custList.Capacity);                 Console.Out.WriteLine("");                 capacity = custList.Capacity;             }         }         Console.Out.WriteLine("Final Count     : {0}", custList.Count);         Console.Out.WriteLine("Final Capacity  : {0}", custList.Capacity);         custList.TrimExcess();         Console.Out.WriteLine("After TrimToSize: {0}", custList.Capacity);     } }