abstract class Bird
{
protected string name; public abstract string Name
{
get;
set;
}
public abstract string GetName();
} class Eagle : Bird
{ public Eagle(string name)
{
this.name = name;
}
public override string Name
{
get
{
return name;//throw new NotImplementedException();
}
set
{
name = value;//throw new NotImplementedException();
}
} public override string GetName()
{
//Console.WriteLine(Name);//throw new NotImplementedException();
return Name;
}
public Eagle[] _eagle = new Eagle[]; public Eagle this[int index]
{
get { return _eagle[index]; }
set
{
_eagle[index] = value;
}
}
}

客户端调用代码:

    class Program
{
static void Main(string[] args)
{ Eagle eagle = new Eagle("我是一只老鹰呀!");
Console.WriteLine(eagle.GetName());
//eagle._eagle[0] = new Eagle("wo shi yi zhi xiao xiao niao");
//Console.WriteLine(eagle._eagle[0].GetName());
eagle[] = new Eagle("wo bu gu dan!");
eagle[] = new Eagle("wo shi yi zhi xiao xiao niao");
Console.WriteLine(eagle[].GetName()+"\n"+eagle[].GetName());
Console.Read();
}
}

汗,先前对索引器的用法弄错了,直接是在客户端实例化类对象后调用类的Eagle型实体变量_eagle[0]并进一步进行实例化存储在数组里,不是基于索引器的调用,查了下msdn的帮助稍作修改,现在把索引器的相关用法写下来:

1.索引器允许您按照与数组相同的方式对类、结构或接口进行索引,要声明类或结构上的索引器,请使用 this 关键字。

2.索引器类型及其参数类型必须至少如同索引器本身一样是可访问的。

3.索引器的签名由其形参的数量和类型组成。它不包括索引器类型或形参名。如果在同一类中声明一个以上的索引器,则它们必须具有不同的签名。

4.索引器值不属于变量;因此,不能将索引器值作为 refout 参数进行传递。

5.C# 并不将索引类型限制为整数。例如,对索引器使用字符串可能是有用的。通过搜索集合内的字符串并返回相应的值,可以实现此类的索引器。由于访问器可被重载,字符串和整数版本可以共存。

最新文章

  1. 今天学了递归,感觉好复杂啊/(ㄒoㄒ)/~~
  2. [bzoj2743][HEOI2012]采花(树状数组+离线)
  3. laravel安装学习步骤
  4. Qt学习笔记网络(一)
  5. ASP.NET中使用代码来进行备份和还原数据库
  6. C++重载,重写,重定义
  7. 第五十三篇、OC利用AFN上传视频到服务器
  8. 利用Linux系统生成随机密码的10种方法
  9. 解决kernel headers报错
  10. IIS Web服务扩展中添加ASP.NET4.0
  11. tooltip 鼠标移动上去出现图片或文字与title大同小异
  12. 最全的iOS数据存储方法
  13. JAVAGUI设计步骤
  14. 项目Beta冲刺Day4
  15. java游戏开发杂谈 - java编程怎么学
  16. mysql5.6.x 字符集修改
  17. Xml的用途
  18. QT QProgressBar QProgressDialog 模态,位置设置,无边框,进度条样式
  19. Hive记录-Hive介绍(转载)
  20. ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?(转载自知乎)

热门文章

  1. Codeforces Round #326 (Div. 2) B. Duff in Love 分解质因数
  2. HDU 4348 To the moon 可持久化线段树,有时间戳的区间更新,区间求和
  3. URAL 1777 D - Anindilyakwa 暴力
  4. python常用功能总结
  5. delphi 11 编辑模式 浏览模式
  6. 让java程序在后台一直执行(例如putty关闭后后台程序继续运行)
  7. 玩转Bash脚本:test測试语句
  8. 图形化管理debian服务
  9. Hidden Markov Model
  10. Linux 学习笔记 文件权限