首页 > 软件操作教程 > 编程开发 > C#
题目内容

C# 索引符

题目答案

    索引符(indexer)是一种特殊的属性,可以把它添加到一个类中,以提供类似于数组的访问。实际上,可通过索引符提供更复杂的访问,因为我们可以用方括号语法来定义和使用复杂的参数类型。它最常见的一个用法 是对项实现简单的数字索引。

    可以在Animal对象的Animals集合中添加一个索引符,如下所示:

public class Animals : CollectionBase 

{

    ...

    public Animal this[int animallndex]

    {

        get { return {Animal)List[animalIndex] ; }

        Set { List[animalIndex] = value; }

    this关键字需要与方括号中的参数一起使用,除此以外,索引符与其他属性十分类似。这个语法是合理的,因为在访问索引符时,将使用对象名,后跟放在方括号中的索引参数(例如MyAnimals[0])。

    这段代码对List属性使用了一个索引符(即在IList接口上,可以访问CollectkmBase中的ArrayList,ArrayList存储了项):

    return (Animal)List[animallndex];

    这里需要进行显式数据类型转换,因为IList.List属性返回一个System.Object对象。注意,我们为这个索引符定义了一个类型。使用该索引符访问某项时,就可以得到这个类型。这种强类型化功能意味着,可以编写下述代码:

    animalCollection[0].Feed();

而不是:

    ((Animal)animalCollection[0]).Feed();

这是强类型化的定制集合的另一个方便特性。

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端