索引器(Indexer)是C#引入的一个新型的类成员,它使得类中的对象可以像数组那样方便、直观的被引用。索引器非常类似于属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。定义了索引器的类可以让您像访问数组一样的使用 [ ] 运算符访问类的成员。(当然高级的应用还有很多,比如说可以把数组通过索引器映射出去等等)

本文只是简单演示一下索引器的概念和基本的使用方法:

请看代码,下面是类的定义,中间包含了一个索引器定义

类的定义
public class Person
{
//定义两个字段信息
private string name;
private string password; //定义一个 Name 属性来操作 name 字段
public string Name
{
set { name = value; }
get { return name; }
} //定义一个 Password 属性来操作 password 字段
public string Password
{
set { password = value; }
get { return password; }
} //定义索引器,name 字段的索引值为 0 ,password 字段的索引值为 1
public string this[int index]
{
get
{
if (index == ) return name;
else if (index == ) return password;
else return null;
}
set
{
if (index == ) name = value;
else if (index == ) password = value;
}
}
}

下面是使用索引器的方法:

索引器使用
protected void Page_Load(object sender, EventArgs e)
{
//声明并实例化这个类
Person p = new Person(); //使用索引器的方式来给类的两个属性赋值
p[] = "jarod";
p[] = "123456,./"; //使用类属性取得两个字段信息
Label1.Text = p.Name + " / " + p.Password;
}

非常简单,在上面的类中我们把类的 name 字段映射的索引值为 0,而 password 字段映射的索引值为 1。有了这个映射就可以使用以下方式为类的 name 和 password 赋值了。

p[] = "jarod";    //设置 name 字段值
p[] = "123456,./"; //设置 password 字段值

最新文章

  1. Monkey Patch/Monkey Testing/Duck Typing/Duck Test
  2. angularjs $emit $on $broadcast 父子 兄弟之间传值
  3. ASP.NET Core 使用 Redis 和 Protobuf 进行 Session 缓存
  4. Two Sum Leetcode Java
  5. vs2010 A selected drive is no longer valid
  6. 更新整理本人所有博文中提供的代码与工具(Java,2013.08)
  7. Java 分布式应用
  8. 锋利的JQuery(四)
  9. python 探索(四) Python CookBook 系统管理
  10. Rendering Transparent 3D Surfaces in WPF with C#(转载)
  11. 如何向java后台的对象中传数组
  12. 语音信号处理之(三)矢量量化(Vector Quantization)
  13. Unity2D实现贴图凹凸感并接受实时光照效果
  14. 一点MongoDB的基础及mongodb在mac上的安装
  15. js注入攻击
  16. centos7 修改yum源为阿里源
  17. CentOS---zabbix使用sendEamil发送报警
  18. xhprof查看性能测试图一直报错:failed to execute cmd: " dot -Tpng"多种因素解决方案
  19. 谈一谈iOS事件的产生和传递
  20. Java知多少(50)Java throws子句

热门文章

  1. Windows下如何修改php.ini的访问路径?
  2. js中的json
  3. Ajax前台调用后台方法、AJAX Pro2(回调函数)
  4. 又一个绝对棒的对话框插件fancybox v1.3.4
  5. 批处理快速更改ip地址
  6. Java设计模式 之 命令模式
  7. 160809225_叶桦汀_C语言程序设计实验2 选择结构程序设计_进阶
  8. Linux搭建一个FTP服务器
  9. 多版本python共存
  10. 2016年11月3日--Window.document对象