Indexer based on switch statement : Indexer « Class « C# / CSharp Tutorial






using System;


class MyClass
{
   public string value0;             
   public string value1;            
   public string value2;          
   
   public string this[int index] 
   {
      set 
      {
         switch (index)
         {
            case 0: value0 = value;
               break;
            case 1: value1 = value;
               break;
            case 2: value2 = value;
               break;
         }
      }
      get 
      {
         switch (index)
         {
            case 0: return value0;
            case 1: return value1;
            case 2: return value2;
            default:
               return "";
         }
      }
   }
}

class MainClass
{
   static void Main()
   {
      MyClass myObject = new MyClass();
      myObject.value0 = "0";
      myObject.value1 = "1";
      myObject.value2 = "2";

      Console.WriteLine("{0}, {1}, {2}", myObject[0], myObject[1], myObject[2]);
   }
}
0, 1, 2








7.40.Indexer
7.40.1.Creating One-Dimensional Indexers
7.40.2.Indexing with an Integer Indexer
7.40.3.Indexing with an String Indexer
7.40.4.Indexing with Multiple Parameters
7.40.5.Define both int and string indexer for a class
7.40.6.Use indexer to add element
7.40.7.Define getter only indexer
7.40.8.Use an indexer to create a fail-soft array.
7.40.9.Overload the MyArray indexer
7.40.10.Indexers don't have to operate on actual arrays
7.40.11.Indexer based on 0 or non-zero
7.40.12.Indexer based on switch statement
7.40.13.Indexer for generic type
7.40.14.Using a string as an indexer value