WEB开发网
开发学院软件开发C语言 C# 语法练习(13): 类[五] - 索引器 阅读

C# 语法练习(13): 类[五] - 索引器

 2009-02-23 08:16:47 来源:WEB开发网   
核心提示:通过索引器可以方便使用类中的数组(或集合)成员:using System;class MyClass{private float[] fs = new float[3] { 1.1f, 2.2f, 3.3f };/* 属性 */public int Length{ get { return fs.Length; }se

通过索引器可以方便使用类中的数组(或集合)成员:

using System;

class MyClass
{
  private float[] fs = new float[3] { 1.1f, 2.2f, 3.3f };

  /* 属性 */
  public int Length
  {
    get { return fs.Length; }
    set { fs = new float[value]; }
  }

  /* 索引器 */
  public float this[int n]
  {
    get { return fs[n]; }
    set { fs[n] = value; }
  }
}


class Program
{
  static void Main()
  {
    MyClass obj = new MyClass();

    for (int i = 0; i < obj.Length; i++) Console.WriteLine(obj[i]); // 1.1/2.2/3.3

    for (int i = 0; i < obj.Length; i++) obj[i] += 5.5f;
    for (int i = 0; i < obj.Length; i++) Console.WriteLine(obj[i]); // 6.6/7.7/8.8

    obj.Length = 5;
    for (int i = 0; i < obj.Length; i++) Console.WriteLine(obj[i]); // 0/0/0/0/0

    Console.ReadKey();
  }
}

可用其他值做索引类型:

using System;

class MyClass
{
  public int this[string str]
  {
    get { return str.Length; }
  }
}


class Program
{
  static void Main()
  {
    MyClass obj = new MyClass();

    Console.WriteLine(obj["123"]); // 3
    Console.WriteLine(obj["abcd"]); // 4

    Console.ReadKey();
  }
}

Tags:语法 练习 索引

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接