运算符(C# 参考)

方括号 ([]) 用于数组、索引器和特性,也可用于指针。

备注

数组类型是一种后跟 [] 的类型:

int[] fib; // fib is of type int[], "array of int".
fib = new int[100]; // Create a 100-element int array.

若要访问数组的一个元素,则用方括号括起所需元素的索引:

fib[0] = fib[1] = 1;
for (int i = 2; i < 100; ++i) fib[i] = fib[i - 1] + fib[i - 2];

如果数组索引超出范围,则会引发异常。

不能重载数组索引运算符;但类型可以定义采用一个或多个参数的索引器和属性。索引器参数括在方括号中,这一点与数组索引类似;但可以将索引器参数声明为任何类型,这一点与数组索引不同,后者必须为整形。

例如,.NET Framework 定义 Hashtable 类型,该类型将键和任意类型的值关联在一起。

System.Collections.Hashtable h = new System.Collections.Hashtable();
h["a"] = 123; // Note: using a string as the index.

方括号还用于指定 特性(C# 和 Visual Basic)

// using System.Diagnostics;
[Conditional("DEBUG")] 
void TraceMethod() {}

可以使用方括号来指定指针索引:

unsafe void M()
{
    int[] nums = {0,1,2,3,4,5};
    fixed ( int* p = nums )
    {
        p[0] = p[1] = 1;
        for( int i=2; i<100; ++i ) p[i] = p[i-1] + p[i-2];
    }
}

不执行边界检查。

C# 语言规范

有关详细信息,请参阅 C# 语言规范。该语言规范是 C# 语法和用法的权威资料。

请参阅

C# 参考

C# 编程指南

C# 运算符

数组(C# 编程指南)

索引器(C# 编程指南)

unsafe(C# 参考)

fixed 语句(C# 参考)