0% found this document useful (0 votes)
24 views3 pages

Indexers (C# Programming Guide)

Uploaded by

sharif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views3 pages

Indexers (C# Programming Guide)

Uploaded by

sharif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

7/19/2015 Indexers (C# Programming Guide)

Indexers ﴾C# Programming Guide﴿


Visual Studio 2013

Indexers allow instances of a class or struct to be indexed just like arrays. Indexers resemble properties except that their accessors take parameters.

In the following example, a generic class is defined and provided with simple get and set accessor methods as a means of assigning and retrieving values. The
Program class creates an instance of this class for storing strings.

C#

class SampleCollection<T>
{
// Declare an array to store the data elements.
private T[] arr = new T[100];

// Define the indexer, which will allow client code


// to use [] notation on the class instance itself.
// (See line 2 of code in Main below.)
public T this[int i]
{
get
{
// This indexer is very simple, and just returns or sets
// the corresponding element from the internal array.
return arr[i];
}
set
{
arr[i] = value;
}
}
}

// This class shows how client code uses the indexer.


class Program

https://msdn.microsoft.com/en­us/library/6x16t2tx.aspx 1/3
7/19/2015 Indexers (C# Programming Guide)

{
static void Main(string[] args)
{
// Declare an instance of the SampleCollection type.
SampleCollection<string> stringCollection = new SampleCollection<string>();

// Use [] notation on the type.


stringCollection[0] = "Hello, World";
System.Console.WriteLine(stringCollection[0]);
}
}
// Output:
// Hello, World.

Note

For more examples, see Related Sections.

Indexers Overview
Indexers enable objects to be indexed in a similar manner to arrays.

A get accessor returns a value. A set accessor assigns a value.

The this keyword is used to define the indexers.

The value keyword is used to define the value being assigned by the set indexer.

Indexers do not have to be indexed by an integer value; it is up to you how to define the specific look‐up mechanism.

Indexers can be overloaded.

Indexers can have more than one formal parameter, for example, when accessing a two‐dimensional array.

https://msdn.microsoft.com/en­us/library/6x16t2tx.aspx 2/3
7/19/2015 Indexers (C# Programming Guide)

Related Sections
Using Indexers ﴾C# Programming Guide﴿

Indexers in Interfaces ﴾C# Programming Guide﴿

Comparison Between Properties and Indexers ﴾C# Programming Guide﴿

Restricting Accessor Accessibility ﴾C# Programming Guide﴿

C# Language Specification
For more information, see the C# Language Specification. The language specification is the definitive source for C# syntax and usage.

See Also
Reference
Properties ﴾C# Programming Guide﴿
Concepts
C# Programming Guide

© 2015 Microsoft

https://msdn.microsoft.com/en­us/library/6x16t2tx.aspx 3/3

You might also like