微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#重载索引器

using System;

namespace IndexerApplication {

   class Indexednames {
      private string[] namelist = new string[size];
      static public int size = 10;

      public Indexednames() {
         for (int i = 0; i < size; i++) {
            namelist[i] = N. A.;
         }
      }

      public string this[int index] {

         get {
            string tmp;

            if( index >= 0 && index <= size-1 ) {
               tmp = namelist[index];
            } else {
               tmp = ;
            }

            return ( tmp );
         }
         set {
            if( index >= 0 && index <= size-1 ) {
               namelist[index] = value;
            }
         }
      }

      public int this[string name] {

         get {
            int index = 0;

            while(index < size) {
               if (namelist[index] == name) {
                return index;
               }
               index++;
            }
            return index;
         }

      }

      static void Main(string[] args) {
         Indexednames names = new Indexednames();
         names[0] = Zara;
         names[1] = Riz;
         names[2] = Nuha;
         names[3] = Asif;
         names[4] = Davinder;
         names[5] = Sunil;
         names[6] = Rubic;

         //using the first indexer with int parameter
         for (int i = 0; i < Indexednames.size; i++) {
            Console.WriteLine(names[i]);
         }

         //using the second indexer with the string parameter
         Console.WriteLine(names[Nuha]);
         Console.ReadKey();
      }
   }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐