Overload the MyArray indexer : Indexer : Class C# Examples


C# Examples » Class » Indexer »

 

Overload the MyArray indexer









    
using  System;    
    
class  MyArray  {      
    int[]  a;        
    
    public  int  Length;
    
    public  bool  errflag;
        
    public  MyArray(int  size)  {    
        a  =  new  int[size];    
        Length  =  size;      
    }    
    
    //  This  is  the  int  indexer  for  MyArray.    
    public  int  this[int  index]  {    
        get  {    
            if(indexCheck(index))  {    
                errflag  =  false;    
                return  a[index];    
            }  else  {    
                errflag  =  true;    
                return  0;    
            }    
        }    
    
        set  {    
            if(indexCheck(index))  {    
                a[index]  =  value;    
                errflag  =  false;    
            }    
            else  errflag  =  true;    
        }    
    }    
    
    public  int  this[double  idx]  {    
        get  {    
            int  index  =  (int)  idx;  
  
            if(indexCheck(index))  {    
                errflag  =  false;    
                return  a[index];    
            }  else  {    
                errflag  =  true;    
                return  0;    
            }    
        }    
    
        set  {    
            int  index  =  (int)  idx;  
  
            if(indexCheck(index))  {    
                a[index]  =  value;    
                errflag  =  false;    
            }    
            else  errflag  =  true;    
        }    
    }    
    
    private  bool  indexCheck(int  index)  {    
      if(index  >=  0  &  index  <  Length)  return  true;    
      return  false;    
    }    
}      
      

class  MainClass  {      
    public  static  void  Main()  {      
        MyArray  myArray  =  new  MyArray(5);    
    
        for(int  i=0;  i  <  myArray.Length;  i++)  
            myArray[i]  =  i;    
  
        //  now  index  with  ints  and  doubles  
        Console.WriteLine("myArray[1]:  "  +  myArray[1]);  
        Console.WriteLine("myArray[2]:  "  +  myArray[2]);  
  
        Console.WriteLine("myArray[1.1]:  "  +  myArray[1.1]);  
        Console.WriteLine("myArray[1.6]:  "  +  myArray[1.6]);  
  
    }    
}
    
   
  
   



Output

myArray[1]: 1
myArray[2]: 2
myArray[1.1]: 1
myArray[1.6]: 1


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Class
» Indexer