Element Access

The concept of member access has a finite feeling to it: If a member doesn’t exist, you can’t call it. Whether finding a member is done by means of static typing at compile time or using dynamic typing at runtime is mostly orthogonal to this. In some other settings, though, it makes sense to have syntax to index into an object as a way to query for runtime state in a friendly fashion.

Sound quite theoretical? In fact, you’ve already seen an example of this before when we talked about arrays in Chapter 4. Consisting of elements, an operation to retrieve or replace an element is desirable. This is achieved by means of square-bracket syntax:

int[] primes = new int[] { 2, 3, 5, 7 };int five = primes[2]; ...

Get C# 5.0 Unleashed now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.