hello world!!!!!

写下自己的一些心得,写下自己问题的方式,写下程序之路的艰辛,希望能够有朝一日成为大牛。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

c#基础知识索引器

Posted on 2010-11-25 16:54  陈力  阅读(226)  评论(0编辑  收藏  举报
代码
class SampleCollection<T>
{
    
private T[] arr = new T[100];
    
public T this[int i]
    {
        
get
        {
            
return arr[i];
        }
        
set
        {
            arr[i] 
= value;
        }
    }
}

// This class shows how client code uses the indexer
class Program
{
    
static void Main(string[] args)
    {
        SampleCollection
<string> stringCollection = new SampleCollection<string>();
        stringCollection[
0= "Hello, World";
        System.Console.WriteLine(stringCollection[
0]);
    }
}

 

 在这里我们看到,无非是实现了一个泛型算法

       等同于

        List<string> lit=new List<string>();

                           lis.add("lee");

                                                                     一般我们用 string lee{ get;set;}

 是用来访问一个对象的里面的属性,他这里相对于把对象自身当作一个属性来访问,这样以来就形成了一个新的访问形式,当然有很多方式可以替换。

 这种结构,无非是给对象增加了一种访问结构,我们试着换一种方式来等同上面的方式。 竟然发现结构是一样的,说明是同一种内存访问方式,语法不一样。哈哈。