关于.net的一些基础知识(二)

索引器是什么?有什么作用?索引器允许类的实例以访问数组的形式来访问对象里面的属性。如我们经常可以看到类似于dr[“name”]=”test”,或者说以config[“connectString”]来获取连接字符串的值。这都是使用索引器的例子,那么我们如何在自己的类中来定义索引器呢?

其实索引器的定义非常简单,只需要使用this关键字即可。This关键字表示的是当前实例化的对象,所以通过这点,就知道索引器不能是静态的,它只能是实例化后才能使用。看下面的例子:

   1: public class People:IAnimal
    
   2:     {
    
   3:         private string strName;
    
   4:  
    
   5:         public string StrName
    
   6:         {
    
   7:             get { return strName; }
    
   8:             set { strName = value; }
    
   9:         }
    
  10:  
    
  11:         private string strNo;
    
  12:  
    
  13:         public string StrNo
    
  14:         {
    
  15:             get { return strNo; }
    
  16:             set { strNo = value; }
    
  17:         }
    
  18:  
    
  19:  
    
  20:         public string this[int a]
    
  21:         {
    
  22:             get
    
  23:             {
    
  24:                 if (a == 0)
    
  25:                 {
    
  26:                     return this.strName;
    
  27:                 }
    
  28:                 else
    
  29:                 {
    
  30:                     return this.strNo;
    
  31:                 }
    
  32:             }
    
  33:  

你可能感兴趣的:(.net)