C# indexer ??

简叔 2003-07-24 08:43:51
C# 中的 indexer 和 Property 蠻相似(宣告方法),但其具體怎樣用搞不清楚,有用過的請講一下它運用在哪些方面,怎樣用? 最好有一個範例? 謝謝!
...全文
30 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
简叔 2003-07-24
  • 打赏
  • 举报
回复
我這里有一個例子,請幫忙分析一下!
using System;
public class ScoreList
{
// private field Array scores
public int[] scores = new int[5];
// indexer
public int this[int index]
{
get
{
return scores[index];
}
set
{
if (value >= 0 && value <= 10)
{
scores[index] = value;
}
}
}
/// <summary>
/// property Average (read only)
/// </summary>
public int Average
{
get
{
int sum = 0;
foreach(int score in scores)
{
sum += score;
}
return sum/scores.Length;
}
}
}
class IndexSample
{
static void Main()
{
ScoreList sl = new ScoreList();
sl[0] = 9;
sl[1] = 8;
sl[2] = 7;
sl[3] = sl[4] = sl[1];
Console.WriteLine("sl.Average() = {0}",sl.Average);
}
}
proud 2003-07-24
  • 打赏
  • 举报
回复
最主要区别仅仅是:索引器在获取或设置的时候需要带参数(即索引值,可以是数字,也可以是其它任何类型),属性无此要求,按理说,索引器是增强型属性.
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2003-07-24 08:43
社区公告

让您成为最强悍的C#开发者