Welcome

首页 / 软件开发 / C# / 使用C#索引器

使用C#索引器2010-11-26索引器在语法上方便您创建 客户端应用程序可将其作为数组访问的类、结构或接口。索引器经常是在主要用 于封装内部集合或数组的类型中实现的。例如,假定具有一个名为TempRecord的 类,此类表示在24小时内的10个不同时间记录的华氏度。此类包含一个表示温度 的float类型的名为“temps”的数组和表示记录温度的日期的 DateTime。通过在此类中实现一个索引器,客户端可以通过floattemp=tr[4]而 不是floattemp=tr.temps[4]语法访问TempRecord实例中的温度。索引器表示法 不仅简化了客户端应用程序的语法,还使其他人员能够更加直观地理解类及 其用途。

要声明类或结构上的索引器,请使用this关键字,如下例所示 :

复制代码

public int this[int index]// Indexer declaration
{
// get and set accessors
}
备注

索引器类型及其参数类型必须至少如同索引器本身一样是可 访问的。有关可访问级别的更多信息,请参见访问修饰符。

有关如何对 接口使用索引器的更多信息,请参见接口索引器。

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

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

要为索引器提供一个 其他语言可以使用的名字,请使用声明中的name属性。例如:

复制代码

[System.Runtime.CompilerServices.IndexerName("TheItem")]
public int this [int index] // Indexer declaration
{
}