可以看到先后输出了Do a method和Dispose。 备注:实例化的对象必须实现 System.IDisposable 接口
2、as
msdn这么说:
as 运算符用于执行可兼容类型之间的转换。 as 运算符类似于类型转换,所不同的是,当转换失败时,as 运算符将产生空,而不是引发异常。在形式上,这种形式的表达式: expression as type 等效于: expression is type ? (type)expression : (type)null 只是 expression 只被计算一次。 请注意,as 运算符只执行引用转换和装箱转换。as 运算符无法执行其他转换,如用户定义的转换,这类转换应使用 cast 表达式来代替其执行。
举例:
object [] arr=newobject[2]; arr[0]=123; arr[1]="test"; foreach(object o in arr) {
string s=(string)o; Console.WriteLine(s); }