• C#中如何应用索引器 ( How to use Indexers )



      C#中索引器是个好东西, 可以允许类或者结构的实例像数组一样进行索引。 在foreach或者直接索引时很有用。
    使用索引器可以简化客户端代码, 即调用者可以简化语法,直观理解类及其用途。
    索引器只能根据声明的形参类型及数量进行区别, 形参命名不能作为区分。

    概述:
    • 使用索引器可以用类似于数组的方式为对象建立索引。

    • get 访问器返回值。 set 访问器分配值。

    • this 关键字用于定义索引器

    • value 关键字用于定义由 set 索引器分配的值。

    • 索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制。

    • 索引器可被重载。

    • 索引器可以有多个形参,例如当访问二维数组时。



      代码片段:

      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
      {
          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.
  • 相关阅读:
    html 滚动条
    mybatis的select、insert、update、delete语句
    eclipse 删除工作空间中.metadata 再加入以前的maven项目编译出错解决方法
    JavaDailyReports10_18
    JavaDailyReports10_17
    JavaDailyReports10_16
    JavaDailyReports10_15
    JavaDailyReports10_14
    JavaDailyReports10_13
    JavaDailyReports10_12
  • 原文地址:https://www.cnblogs.com/muzizongheng/p/3169818.html
Copyright © 2020-2023  润新知