索引器 (indexer) 是这样一个成员:它支持按照索引数组的方法来索引对象。索引器的声明与属性类似,不同的是该成员的名称是this,后跟一个位于定界符[和]之间的参数列表。在索引器的访问器中可以使用这些参数。与属性类似,索引器可以是读写、只读和只写的,并且索引器的访问器可以是虚的。
    该List类声明了单个读写索引器,该索引器接受一个int参数。该索引器使得通过int值对List实例进行索引成为可能。例如
    List names = new List();
    names.Add(“Liz”);
    names.Add(“Martha”);
    names.Add(“Beth”);
    for (int i = 0; i < names.Count; i++) {
    string s = names[i];
    names[i] = s.ToUpper();
    }
    索引器可以被重载,这意味着一个类可以声明多个索引器,只要其参数的数量和类型不同即可。

    1. using System;
    2. namespace _135_索引器
    3. {
    4. class Program
    5. {
    6. static void Main(string[] args)
    7. {
    8. //索引器:方便使用类中的集合
    9. Person p = new Person();
    10. p[0] = 1;
    11. Console.WriteLine(p[0]);
    12. Console.ReadKey();
    13. }
    14. }
    15. }
    16. using System;
    17. using System.Collections.Generic;
    18. using System.Linq;
    19. using System.Text;
    20. using System.Threading.Tasks;
    21. namespace _135_索引器
    22. {
    23. class Person
    24. {
    25. int[] nums = new int[100];
    26. //通过索引访问这个数组中的某一元素
    27. public int this[int index]
    28. {
    29. get { return nums[index]; }
    30. set { nums[index] = value; }
    31. }
    32. }
    33. }