目录 Hello!大家好,我是努力赚钱买生发水的灰小猿! 最近在用C#做开发的时候要用到索引函数,所以今天就在这里和小伙伴记录一下C#中索引器的实现。 在C#中,索引器允许类或结构的实例按照和数组相同的方式进行索引,索引器类似于属性,不同之处在于他们的访问采用参数,而实际上,索引器提供了一种访问类或结构的方法,即允许按照和类、结构或接口相同的方式进行索引,它的引入的目的是为了让程序更加的直观便于理解。 索引器提供了一种特殊的方法,来对类或结构体中的对象进行赋值和访问,要在类或结构上声明索引器,需要使用this关键字,索引器的定义格式如下: 其中修饰符包括:public,protected,private,internal,new,virtual,sealed,override,abstract,extern. 数据类型是表示将要存取的数组或集合元素的类型,如string、int等。 this关键字引用当前类的实例,从中可以看到,对索引器和对普通属性一样,为它提供set和get访问器,这些访问器指定使用该索引器时将引用什么内部成员。 索引器类型表示该索引器使用哪一类型的索引来存取数组或集合元素,可以是整数同时也可以是字符串。 在定义上,索引器和属性相似,具有如下的相似点: 索引器和属性的区别如下: 比如下面这个程序, 定义一个课程类Couse,在该类中定义三个私有成员Chinese、English、Math,通过索引函数访问该类的私有成员,并对这三个私有成员进行读写操作。 首先是定义Couse类,并在该类中实现索引器: 在主类中调用Couse类和索引器,对成员变量进行读写: 运行结果如下: 在上述程序中首先在定义Couse类并在其中设置索引器,之后在主方法中调用该类,并通过索引对成员变量进行赋值,之后再通过索引对相应的成员变量进行调用。 好了,内容不多也好理解。 觉得不错记得关注大灰狼哟! 同时有喜欢Python的小伙伴也可以关注我的微信公众号“灰狼洞主”后台回复“Python笔记”获取Python从入门到精通笔记和Python常用函数方法速查手册哟! 大灰狼期待与你一同进步!
什么是索引器?
如何声明索引器?
[修饰符] 数据类型 this[索引类型 index] { get{//获得属性的代码} set{ //设置属性的代码} }
索引器和属性的异同对比
索引器实例分析
//定义类Couse class Couse { //定义私有成员变量 private float Chinese; private float English; private float Math; //定义索引器,该索引器的修饰符是public,数据类型是float,索引类型是string public float this[string name] { //定义get方法对成员进行读取 get { switch (name) { case "语文": return Chinese; case "英语": return English; case "数学": return Math; default: return 0; } } //定义set方法对成员进行写入 set { switch (name) { case "语文": Chinese = value; break; case "英语": English = value; break; case "数学": Math = value; break; } } } }
class Program { static void Main(string[] args) { //新建一个对象接收Couse类 Couse couse = new Couse(); couse["语文"] = 100; //通过“语文”索引对Chinese进行赋值 couse["英语"] = 99; //通过“英语”索引对English进行赋值 couse["数学"] = 98; //通过“数学”索引对Math进行赋值 //通过相应的索引获取到成员的值并输出 Console.WriteLine("语文:" + couse["语文"]); Console.WriteLine("英语:" + couse["英语"]); Console.WriteLine("数学:" + couse["数学"]); } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算