【发布时间】:2011-09-27 08:29:34
【问题描述】:
当您大部分时间想要更改类型时,您只想使用传统的演员表。
var value = (string)dictionary[key];
很好,因为:
- 很快
- 如果有问题,它会抱怨(而不是给 object is null 异常)
那么使用as 的好例子是什么?
注意:实际上我认为有时编译器会阻止使用 as 起作用的类型转换(与泛型相关?)。
【问题讨论】:
-
编译器并没有真正“阻止”强制转换,它只是在它可以静态确定类型不相关时给出错误,因此强制转换总是会失败。
-
is 模式匹配可能是当今更现代的方式。
标签: c# .net c#-3.0 as-operator