小李程式™的专栏

有勇气来改变可以改变的事情,有度量接受不可改变的事情,有智慧来分辨两者的不同。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

基于字符索引器的实现

Posted on 2005-06-01 20:34  尼斯湖李  阅读(337)  评论(0编辑  收藏  举报

最近在研究二维内存缓冲区的实现,各维的长度均不确定;为了方便快速定位,采用了基于字符串的索引器。以下是其局部的实现代码。

1.基础类

public class TagArray : ArrayList
 
{
  
private string m_strTagNo;
  
private int m_MaxLength ;

  
public TagArray( string strTagNo )
  
{
   
this.m_strTagNo = strTagNo ;
  }



  
public string TagNo
  
{
   
get
   
{
    
    
return this.m_strTagNo ;
   }

  }

}



2.集合类

public class TagArrayCollection : CollectionBase
 
{
  
public TagArrayCollection()
  
{
   
//
   
// TODO: 在此处添加构造函数逻辑
   
//
  }


//字符串索引器
  public TagArray this [string name]
  
{
   
get
   
{
    
int index = this.IndexOf( name );

    
if( index >= 0 )
    
{
     
return (TagArray)this.List[index] ;
    }

    
return null;
   }

  }



  
public int IndexOf( string TagName )
  
{
   
if ((TagName != null&& (0 < TagName.Length))
   
{
    
int num2 = this.List.Count;
    
    
for (int num4 = 0; num4 < num2; num4++)
    
{
     TagArray tag1 
= (TagArray) this.List[num4];
     
     
if ( tag1.TagNo == TagName )
     
{
      
return num4;
     }

    }

   }

   
return -1 ;
  }

}