public int this [int index] { get { if (index < 0 || index >= Count) throw new ArgumentOutOfRangeException ("Index of out range"); CheckSorted (); return (int)selection [index]; } }