C#学习笔记之C#接口的索引器

发布时间:2019-10-25编辑:脚本学堂
本文介绍下,有关C#接口中索引器的相关内容,有需要的朋友,参考下吧。

索引器可在 接口(C# 参考) 上声明。
接口索引器的访问器与类索引器的访问器的不同:
1、接口访问器不使用修饰符。
2、接口访问器没有体。

因此,访问器的用途是指示索引器是读写、只读还是只写。

举个简单的例子吧。
 

复制代码 代码示例:

public interface ISomeInterface{ //... // Indexer declaration: string this[int index] { get; set; }} 

// Indexer on an interface: 
public interface ISomeInterface 

   // Indexer declaration: 
   int this[int index] 
   { 
     get; 
     set; 
   } 

     
    // Implementing the interface. 
    class IndexerClass : ISomeInterface 
    { 
        private int[] arr = new int[100]; 
        public int this[int index]   // indexer declaration 
        { 
            get 
            {    
                // The arr object will throw IndexOutOfRange exception. 
                return arr[index]; 
            } 
            set 
            {                
                arr[index] = value;                 
            } 
        } 
    } 
     
    class MainClass 
    { 
        static void Main() 
        { 
            IndexerClass test = new IndexerClass(); 
            // Call the indexer to initialize the elements #2 and #5. 
            test[2] = 4; 
            test[5] = 32; 
            for (int i = 0; i <= 10; i++) 
            { 
                System.Console.WriteLine("Element #{0} = {1}", i, test[i]); 
            } 
     
            // Keep the console window open in debug mode. 
            System.Console.WriteLine("Press any key to exit."); 
            System.Console.ReadKey(); 
        } 
    } 
    /* Output:
        Element #0 = 56.2
        Element #1 = 56.7
        Element #2 = 56.5
        Element #3 = 58.3
        Element #4 = 58.8
        Element #5 = 60.1
        Element #6 = 65.9
        Element #7 = 62.1
        Element #8 = 59.2
        Element #9 = 57.5
    */