您的位置:首页 > 编程语言 > C#

C#中如何应用索引器 ( How to use Indexers )

2013-07-03 16:49 281 查看



C#中索引器是个好东西, 可以允许类或者结构的实例像数组一样进行索引。 在foreach或者直接索引时很有用。
使用索引器可以简化客户端代码, 即调用者可以简化语法,直观理解类及其用途。索引器只能根据声明的形参类型及数量进行区别, 形参命名不能作为区分。

概述:使用索引器可以用类似于数组的方式为对象建立索引。

get 访问器返回值。 set 访问器分配值。

this 关键字用于定义索引器。

value 关键字用于定义由 set 索引器分配的值。

索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制。

索引器可被重载。

索引器可以有多个形参,例如当访问二维数组时。

代码片段:
class SampleCollection<T>
{
// Declare an array to store the data elements.
private T[] arr = new T[100];

// Define the indexer, which will allow client code
// to use [] notation on the class instance itself.
// (See line 2 of code in Main below.)
public T this[int i]
{
get
{
// This indexer is very simple, and just returns or sets
// the corresponding element from the internal array.
return arr[i];
}
set
{
arr[i] = value;
}
}
}

// This class shows how client code uses the indexer.class Program
{
static void Main(string[] args)
{
// Declare an instance of the SampleCollection type.
SampleCollection<string> stringCollection = new SampleCollection<string>();

// Use [] notation on the type.
stringCollection[0] = "Hello, World";
System.Console.WriteLine(stringCollection[0]);
}
}
// Output:// Hello, World.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐