Mega Code Archive

 
Categories / C# / Class Interface
 

Implements an indexer in a class

/* C# Programming Tips & Techniques by Charles Wright, Kris Jamsa Publisher: Osborne/McGraw-Hill (December 28, 2001) ISBN: 0072193794 */ // // Indexer.cs -- Implements an indexer in a class // //               Compile this program with the following command line: //                   C:>csc Indexer.cs // namespace nsIndexer {     using System;          public class Indexer     {         static public void Main ()         {             clsIndexed idx = new clsIndexed (10);             Console.WriteLine ("The value is " + idx[3]);             idx.Show (3);         }     }     class clsIndexed     {         public clsIndexed (int elements)         {              DateTime now = DateTime.Now;              Random rand = new Random ((int) now.Millisecond);              Arr = new int [elements];              for (int x = 0; x < Arr.Length; ++x)                  Arr[x] = rand.Next() % 501;         }         int [] Arr;         public int this[int index]         {             get             {                 if ((index < 0) || (index > Arr.Length))                     throw (new ArgumentOutOfRangeException());                 return (Arr[index]);             }         }         public void Show (int index)         {             Console.WriteLine ("The value is " + Arr[index]);         }     } }