189 8069 5689

c#索引器-创新互联

C#索引器

创新互联建站服务项目包括克东网站建设、克东网站制作、克东网页制作以及克东网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,克东网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到克东省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

一:什么是C#的索引器:
    是一种特殊的类成员,它能够让对象以类似数组的方式来存取,使程序看起来更为直观,更容易编写。

二:C#"索引器”典型结构

c#索引器

为了更好的说明 C#“索引器”的功能,参考以下代码:

   class Demo1
   {
       //容纳0个整数的数组
       private int[] _Array = new int[10];

       ///


       /// 定义索引器
       ///

       ///
       ///
       public int this[int index]
       {
           set
           {
               if (index >= 0 && index <= 10)
               {
                   _Array[index] = value;
               }
           }

           get
           {
               if (index < 0 || index >= 100)
               {
                   return 0;
               }
               else
               {
                   return _Array[index];
               }
           }
       }

       static void Main1(string[] args)
       {
           Demo1 obj = new Demo1();
           obj[0] = 1000;
           obj[1] = 2000;

           //输出
           Console.WriteLine(obj[0]);
           Console.WriteLine(obj[1]);
       }
   }

三:C#"索引器”与数组的区别
   1: 索引器的索引值类型不限定为整数
   2:索引器允许重载
   3:索引器具有Get 与 Set 访问器。

四: C#"索引器”与属性的区别
   1:索引器以函数签名方式this 来标识,而属性采用名称(名称可以任意)来标识。
   2:索引器可以重载,属性不能。
   3:索引器不能用Static ,而属性可以。

索引器允许重载,给了更清晰的表述,请看如下示例:

   class Demo2
   {
       //容纳0个整数的数组
       private Hashtable _HT = new Hashtable();
       private int[] _Array = new int[10];

       ///


       /// 定义索引器
       ///

       ///
       ///
       public string this[string index]
       {
           set
           {
               _HT.Add(index,value);
           }

           get
           {
               return _HT[index].ToString();
           }
       }

       ///
       /// 索引器重载
       ///

       ///
       ///
       public int this[int index]
       {
           set
           {
               if (index >= 0 && index <= 10)
               {
                   _Array[index] = value;
               }
           }

           get
           {
               if (index < 0 || index >= 100)
               {
                   return 0;
               }
               else
               {
                   return _Array[index];
               }
           }
       }

       static void Main(string[] args)
       {
           Demo2 obj = new Demo2();
           obj["zhangSan"] = "张三";
           obj["lisi"] = "李四";
           obj[1] = 3000;
           obj[2] = 4000;

           //输出
           Console.WriteLine(obj["zhangSan"]);
           Console.WriteLine(obj["lisi"]);
           Console.WriteLine(obj[1]);
           Console.WriteLine(obj[2]);
       }
   }

总结:

   C#的索引器的使用概率不是很高,一般都集中在游戏开发人员(程序员)需要开发自己的“自定义集合”类型的时候使用,笔者在下一章节来给大家介绍如何开发自己的“自定义集合”。请大家围观。

 2016年9月5日

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:c#索引器-创新互联
标题来源:http://jkwzsj.com/article/dcidsc.html

其他资讯