zoukankan      html  css  js  c++  java
  • c#基础知识索引器

    代码
    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;}

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

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

  • 相关阅读:
    netty内存泄漏
    Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
    java 容器结构
    c3p0 一个数据库链接的例子
    eclipse java MemoryAnalyzer 查询内存泄漏 环境配置
    Java中数据库连接的一些方法资料汇总
    java io流
    MySQL的几个概念:主键,外键,索引,唯一索引
    mysql 一些常用指令
    mysql only_full_group_by问题
  • 原文地址:https://www.cnblogs.com/chenli0513/p/1887856.html
Copyright © 2011-2022 走看看