在VB.NET中如何从Object转换为整数?
当我做:
Dim intMyInteger as Integer = TryCast(MyObject,Integer)
它说:
TryCast operand must be reference type,but Integer is a value type.
TryCast与C#的操作符相当.它是一个“安全转换”运算符,如果转换失败,则不会抛出异常.而是返回Nothing(C#中为null).问题是,您不能将Nothing(null)(引用类型)分配给Integer(值类型).没有像Integer null / Nothing这样的东西.
原文链接:https://www.f2er.com/vb/255161.html相反,您可以使用TypeOf和Is:
If TypeOf MyObject Is Integer Then intMyInteger = DirectCast(MyObject,Integer) Else intMyInteger = 0 End If
这将测试查看MyObject的运行时类型是否为整数.详见MSDN documentation on the TypeOf
operator.
你也可以这样写:
Dim myInt As Integer = If(TypeOf myObj Is Integer,DirectCast(myObj,Integer),0)
此外,如果具有默认值(如0)的整数不合适,则可以考虑Nullable(Of Integer)类型.