博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net 索引器
阅读量:4363 次
发布时间:2019-06-07

本文共 1727 字,大约阅读时间需要 5 分钟。

  索引器允许类或结构的实例就像数组一样进行索引。 索引器类似于属性,不同之处在于它们的访问器采用参数。

  在下面的示例中,定义了一个泛型类,并为其提供了简单的 get 和 set 访问器方法(作为分配和检索值的方法)。 Program 类为存储字符串创建了此类的一个实例。

  

public class DexerVehicle    {        public string type = "";        private Hashtable parts = new Hashtable();        private Hashtable parts2 = new Hashtable();        public DexerVehicle(string type)        {            this.type = type;        }        //索引 使用this定义        public object this[string key]        {            get { return parts[key]; }            set { parts[key] = value; }        }        //属性        public object name        {            get { return parts2["doors"] = name; }            set { parts2["doors"] = value; }        }        // 方法        public void Show()        {            Console.WriteLine(" ---------------------------");            Console.WriteLine(" Vehicle Type: " + type);            Console.WriteLine(" Frame : " + parts["frame"]);            Console.WriteLine(" Engine : " + parts["engine"]);            Console.WriteLine(" #Wheels: " + parts["wheels"]);            //属性            Console.WriteLine(" #Doors : " + parts2["doors"]);        }     }
class Program    {        static void Main(string[] args)        {            DexerVehicle vehicle = new DexerVehicle("car");            //索引器允许类或结构的实例就像数组一样进行索引            vehicle["frame"] = "你好";            vehicle["engine"] = "你好1";            vehicle["wheels"] = "你好2";            vehicle.name = "张三";            vehicle.Show();            Console.ReadLine();        }    }

 

    • 使用索引器可以用类似于数组的方式为对象建立索引。

    • get 访问器返回值。 set 访问器分配值。

    • this 关键字用于定义索引器。

    • value 关键字用于定义由 set 索引器分配的值。

    • 索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制。

    • 索引器可被重载。

    • 索引器可以有多个形参,例如当访问二维数组时。

转载于:https://www.cnblogs.com/dragon-L/p/4397525.html

你可能感兴趣的文章
windows命令——explorer
查看>>
<转载>Bootstrap 入门教程 http://www.cnblogs.com/ventlam/archive/2012/05/28/2520703.html 系列...
查看>>
jquery和js cookie的使用解析
查看>>
类的内置方法
查看>>
世界是数字的 读后感
查看>>
算法项目步骤流程
查看>>
POJ 2942 Knights of the Round Table ★(点双连通分量+二分图判定)
查看>>
10.scheam.xml的配置
查看>>
通过命令给Linux(CentOS)分区
查看>>
python接口自动化3-自动发帖(session)
查看>>
复杂问题的简单抽象:魔兽世界中的兔子们
查看>>
那些美到极致的语言!
查看>>
Xamarin的不归路-ios模拟器没有键盘
查看>>
【云笔记】群晖DS218+ NoteStation 折腾
查看>>
jdk安装配置
查看>>
四、RocketMq简单的消费者和生产者(示例代码)
查看>>
json介绍
查看>>
Maven编译unmappable character for encoding Cp1252问题
查看>>
xftp上传文件失败,执行程序发现磁盘满了:No space left on device
查看>>
duplicate symbols for architecture i386 问题?
查看>>