我正在从一个(非泛型,hetrogeneous)集合中提取一个bool
值。如何安全地将System.Object转换为C#中的`bool`?
的as
运营商可能只引用类型来使用,所以这是不可能做到的使用as
尝试一个安全的铸造到bool
:
// This does not work: "The as operator must be used with a reference type ('bool' is a value type)"
object rawValue = map.GetValue(key);
bool value = rawValue as bool;
是否有类似的东西,可以使安全进行如果出于某种原因,如果该值不是布尔值,则将对象转换为值类型而不可能存在InvalidCastException
?
@SLaks:请参阅我的和kalusbyskov的答案,以替代使用两个演员。并不是说它确实有帮助。 – 2009-12-29 14:48:21