一周学会C#(索引二)
C#才鸟(QQ:249178521)
4.索引vs.数组
· 索引和数组的比较
w 索引可以使用非整型参数
w 索引可以被重载
w 索引可以是私有的
w 索引不能有ref/out 型参数
struct Matrix
{
...
public double this [int row, int col]
{
get { ... }
set { ... }
}
public Row this [int row]
{
get { ... }
set { ... }
}
...
}
5.索引vs.属性
· 索引和属性的比较
w 都只有 get 和 set 语句
w 没有静态索引
§ 可以有静态属性
w 索引是在类的层次上声明的
§ 属性是在字段的层次上声明的
struct Row
{
...
public double this [int col]
{
get { ... }
set { ... }
}
public int Length
{
get { ... }
}
...
}
属性和索引都能在接口中声明。
interface IRow
{
double this [int index] { get; set; }
int Length { get; }
}
6.索引vs.函数
· 索引和函数的比较
w 函数可以没有参数
w 函数可以有void型返回值
w 索引只能包含get/set语句