可以把Indexers看成是一个聪明的数组,当想要用类似于数组的方式通过索引存取一个属性时就可以使用Indexers。比如:
public double this[intindex]
Attributes
Attributes指的是放在源代码元素上的注解,与VB中的条件汇编相同。但是在 C# 中,Attributes信息是存储在元素的元数据中的,在运行时间可以用 reflection 来恢复。
例外处理
例外指的是C# 中默认的处理错误的方法。这与VB中的错误处理代码不同,因为例外是不可以被忽略的。处理例外时,将可能导致错误的代码区包含在 Try 区中,将错误处理代码放置在 Catch 区中。这与 VB 的“On Error Goto”语句功能相同。请看下面的2个例子:
try
{
int j = 22 / 0;
}
catch (Exception e)
{
Console.Writeline("Exception " + e.Message);
}
再请看将例外传递到调用函数的部分:
Caller Beware:这个方法并不捕捉例外。这与 VB 中的“On Error Resume Next”相同。
Caller Confuse:这个方法捕捉例外、处理例外,并将例外重新抛出。这与VB 的“On Error Goto”以及错误处理代码中的“Err.Raise”相同。
Caller Inform:这个方法捕捉例外,并将其包裹在有额外信息的另一个例外中。
Finally部分:
这是放置清除代码的地方。举例来说,在一个 I/O 操作中关闭一个文件。在 finally 区内部的代码必须要保证在退出一个函数之前执行,而不管例外是否已被抛出。请看下面的例子:
(打开文件(作为‘f’引用)的代码)
finally
{
f.close()
}