什么是索引指示器


Posted in 面试题 onAugust 20, 2012
实现索引指示器(indexer)的类可以象数组那样使用其实例后的对象,但与数组不同的是索引指示器的参数类型不仅限于int
简单来说,其本质就是一个含参数属性
示例:
using System;
using System.Collections.Generic;
using System.Text;
namespace Example08
{
public class Point
{
private double x, y;
public Point(double X, double Y)
{
x = X;
y = Y;
}
//重写ToString方法方便输出
public override string ToString()
{
return String.Format(“X: {0} , Y: {1}”, x, y);
}
}
public class Points
{
Point[] points;
public Points(Point[] Points)
{
points = Points;
}
public int PointNumber
{
get
{
return points.Length;
}
}
//实现索引访问器
public Point this[int Index]
{
get
{
return points[Index];
}
}
}
//索引指示器的实质是含参属性,参数并不只限于int
class WeatherOfWeek
{
public string this[int Index]
{
get
{
//注意case段使用return直接返回所以不需要break
switch (Index)
{
case 0:
{
return “Today is cloudy!”;
}
case 5:
{
return “Today is thundershower!”;
}
default:
{
return “Today is fine!”;
}
}
}
}
public string this[string Day]
{
get
{
string TodayWeather = null;
//switch的标准写法
switch (Day)
{
case “Sunday”:
{
TodayWeather = “Today is cloudy!”;
break;
}
case “Friday”:
{
TodayWeather = “Today is thundershower!”;
break;
}
default:
{
TodayWeather = “Today is fine!”;
break;
}
}
return TodayWeather;
}
}
}
class Program
{
static void Main(string[] args)
{
Point[] tmpPoints = new Point[10];
for (int i = 0; i {
tmpPoints[i] = new Point(i, Math.Sin(i));
}
Points tmpObj = new Points(tmpPoints);
for (int i = 0; i {
Console.WriteLine(tmpObj[i]);
}
string[] Week = new string[] { “Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Staurday”};
WeatherOfWeek tmpWeatherOfWeek = new WeatherOfWeek();

for (int i = 0; i
{

Console.WriteLine(tmpWeatherOfWeek[i]);

}

foreach (string tmpDay in Week)

{

Console.WriteLine(tmpWeatherOfWeek[tmpDay]);

}

Console.ReadLine();

}

}

}

结果:
X: 0 , Y: 0
X: 1 , Y: 0.841470984807897
X: 2 , Y: 0.909297426825682
X: 3 , Y: 0.141120008059867
X: 4 , Y: -0.756802495307928
X: 5 , Y: -0.958924274663138
X: 6 , Y: -0.279415498198926
X: 7 , Y: 0.656986598718789
X: 8 , Y: 0.989358246623382
X: 9 , Y: 0.412118485241757
Today is cloudy!
Today is fine!
Today is fine!
Today is fine!
Today is fine!
Today is thundershower!
Today is cloudy!
Today is fine!
Today is fine!
Today is fine!
Today is fine!
Today is thundershower!
Today is fine!

Tags in this post...

面试题 相关文章推荐
简述你对Statement,PreparedStatement,CallableStatement的理解
Mar 25 面试题
构造方法和其他方法的区别?怎么调用父类的构造方法
Sep 22 面试题
C语言中break与continue的区别
Jul 12 面试题
如何提高SQL Server的安全性
Jul 25 面试题
武汉世纪畅想数字传播有限公司.NET笔试题
Jul 22 面试题
.NET概念性的面试题
Feb 29 面试题
密封类可以有虚函数吗
Aug 11 面试题
用C#语言写出在本地创建一个UDP接收端口的具体过程
Feb 22 面试题
linux比较文件内容的命令是什么
Mar 04 面试题
几个判断型的面试题
Jul 03 面试题
MVC的各个部分都有那些技术来实现?如何实现?
Apr 21 面试题
Java语言的优势
Jan 10 面试题
new修饰符是起什么作用
Jun 28 #面试题
Can a struct inherit from another struct? (结构体能继承结构体吗)
Sep 25 #面试题
C#笔试题集合
Jun 21 #面试题
this关键字的含义
Apr 08 #面试题
Can a struct inherit from another class? (结构体能继承类吗)
Jul 22 #面试题
.net C#面试题
Aug 28 #面试题
可以使用抽象函数重写基类中的虚函数吗
Jun 02 #面试题
You might like
短波收音机简介
2021/03/01 无线电
资料注册后发信小技巧
2006/10/09 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
PHP面向对象程序设计组合模式与装饰模式详解
2016/12/02 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
Yii框架页面渲染操作实例详解
2019/07/19 PHP
js 幻灯片的实现
2011/12/06 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
只需五句话搞定JavaScript作用域(经典)
2016/07/26 Javascript
AngularJS表单验证功能分析
2017/05/26 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
ES6 Class中实现私有属性的一些方法总结
2019/07/08 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
对于Python装饰器使用的一些建议
2015/06/03 Python
python内置数据类型之列表操作
2018/11/12 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
python中pyplot基础图标函数整理
2020/11/10 Python
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
假日旅行社实习自我鉴定
2013/09/24 职场文书
商务英语本科生的自我评价分享
2013/11/15 职场文书
师范大学毕业自我鉴定
2013/11/21 职场文书
给女朋友的道歉信
2014/01/10 职场文书
金融管理毕业生求职信
2014/03/03 职场文书
教师求职自荐书
2014/06/14 职场文书
大学专科自荐信
2014/06/17 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python