最近刚刚学了一个好东西,那就是索引器,有了这个,特别是对于oop中定义对象的数组时,将会是非常方便的。那么,我们还是首先来认识一下索引器吧!
大家都见过属性吧,其实呢,索引器就是对属性的一个扩充,索引器的定义和属性非常的相似,只是定义索引器的时候,多了this这个关键字,还有就是,索引器可以有多个形参(二维数组,呵呵),而且,索引器也有重载的。
下面呢,是一个用索引器来获取dns的一个例子:
首先,引入命名空间using System.Net;
然后呢,定义个类如下:
    class ResolveDNS
    {
        IPAddress[] iparr;
        public void Resolve(string s)
        {
            //IPHostEntry ip = Dns.GetHostByName(s);
            //iparr = ip.AddressList;
            iparr = Dns.GetHostAddresses(s);
        }
        public int IPLength
        {
            get
            {
                return iparr.Length;
            }
        }
        /// <summary>
        /// 定义一个索引器
        /// </summary>
        /// <param name="index"></param>
        /// <returns></returns>
        public IPAddress this[int index]
        {
            get {
                return iparr[index];
            }
        }
    }
 
最后,在main方法中调用啦!
            ResolveDNS  ip=new ResolveDNS() ;
            ip.Resolve(" www.baidu.com");
           
            for(int k=0;k<ip.IPLength;k++)
            {
                Console.WriteLine(ip[k]);
            }
这样,一个简单的获取dns的功能就实现啦!