User Tools

Site Tools


This is an old revision of the document!

Indexers in C#

Indexers are useful to access elements in a class or struct that encapsulate a list or a dictionary. A class or a struct can define multiple indexers, each with parameters of different types.

Implementing an indexer:

class Tagline
    string[] words = "One ring to rule them all".Split();
    // Indexer definition
    public string this [int n]
            if (n < 0 || n > words.length-1)
                throw new IndexOutOfRangeException("Index out of range.");
                return words[n];
            words[n] = value;

Using the indexer:

Tagline s = new Tagline();
Console.WriteLine(s[3]); // displays the word "rule"

An indexer can take more than one parameter:

public string this [int arg1, string arg2]
    get { ... }
    set { ... }
notes/csharp/indexers.1435177668.txt.gz ยท Last modified: 2015/06/24 by admin