C#教学第15讲索引器1(学习笔记)
来源:互联网 发布:淘宝违规方式 编辑:程序博客网 时间:2024/05/20 20:21
第15讲索引器1
快乐乔巴的博客
视频讲师:陈广老师
大家好,今天我们来讲索引器(indexer)。
索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。索引器也被称为有参属性,下面我们来看看索引器跟数组和属性之间有什么不同。
索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。索引器也被称为有参属性,下面我们来看看索引器跟数组和属性之间有什么不同。
我们新建一个空白文件,首先先看看类数组是怎么使用的:
通过运行,我们可以得到结果,各自人名都能显示出来。
好,下面我们声明一个带索引器的类。
我们运行代码,效果如下:
我们看,a[0]a[1]a[2]是类数组,b[0]b[1]b[2]是索引器,它们得到的结果是一样的。我们来看索引器和类数组有什么区别。类数组存放的是一个一个类的实例,当然类数组的实质呢它只是存取托管堆中的内存指针,而这些内存指针就指向托管堆中的一个一个类。而索引器呢,它的这些名字(张三李四王五)其实是存放在索引器里的一个数组里面,这样呢索引器只需要声明一个实例,而类数组需要声明多个实例,当然i这个索引器并没有写完全。在get和set访问器中应该判断index的取值范围(0~9)。
这里我们也看到索引器呢提供了一i种数组封装到类的一种方法,就好象在类里面封装string或者int类型的对象一样。为了数据的安全,也可以把数据封装到类里,索引器有一个比类数组更为灵活的地方,就是它的索引值并不一定必须为整数,也就是说索引器的索引值可以为其他的数据类型,好下面我们来试验一下:
首先介绍下Hashtable,在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key和value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应key值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对
运行代码后能正常的显示。
索引器还有一个更为吸引人的地方,就是它能够被重载。我们现在再对程序做些修改:
运行代码编译之后,效果如下:
我们看,运行成功。我们通过字符索引来给索引器赋值,跟前面的这个用数字索引给索引器赋值有所不同,这个是重载。实际项目上并不符合逻辑,这里只是为了给大家做一个演示。
好,这节课就演示到这里。
由快乐乔巴听课摘写笔记
- C#教学第15讲索引器1(学习笔记)
- C#教学第16讲索引器2(学习笔记)
- C#教学第17讲索引器3(学习笔记)
- C#教学第18讲索引器4(学习笔记)
- C#教学第9讲事件1(学习笔记)
- C#教学第11讲属性1(学习笔记)
- C#教学第19讲字符1(学习笔记)
- C#教学第10讲事件2(学习笔记)
- C#教学第12讲属性2(学习笔记)
- C#教学第14讲类型转换2(学习笔记)
- C#教学第20讲字符2(学习笔记)
- C#教学第21讲类(学习笔记)
- C#教学第22讲类的构造1(学习笔记)
- C#教学第23讲类的构造2(学习笔记)
- C#教学第24讲析构1(学习笔记)
- C#教学第13讲类型转换1
- C#教程第5讲方法1(学习笔记)
- C#教程第7讲委托1(学习笔记)
- 用纯CSS建立的不错的表格
- 三层架构解释
- 轻松构建Asp.Net2.0 GridView复合多层表头(不限级)!!!
- 在线编辑器一个关键问的题解决pasteHTML与insertHTML
- 一个很漂亮的搜索框
- C#教学第15讲索引器1(学习笔记)
- 仿腾讯图片切换
- static变量不仅要在.h文件声明,而且要在cpp文件中赋值(定义实体)
- VIM复习及再学习笔记
- Drupal 4.7: Primary Links and the Menu System
- 卡在父亲食道中的茶叶下去了
- 凤舞天骄TB商店修改器V1.0(DELPHI源代码,无需注册)
- 职业生涯5个必经阶段,你在哪个阶段?(转自 启人网)
- 深入剖析 SharePoint SharePoint 目录集成