gpt4 book ai didi

vb.net - 如何在VB.NET中从Object转换为Integer?

转载 作者:行者123 更新时间:2023-12-03 21:08:21 25 4
gpt4 key购买 nike

如何在VB.NET中将Object转换为Integer

当我做:

Dim intMyInteger as Integer = TryCast(MyObject, Integer)


它说:


TryCast操作数必须是引用类型,但Integer是值类型。

最佳答案

TryCast等效于C#的as运算符。它是一个“安全强制转换”运算符,如果强制转换失败,则不会引发异常。而是返回Nothing(在C#中为null)。问题是,您不能将Nothingnull)(引用类型)分配给Integer(值类型)。没有Integer null / Nothing这样的东西。

而是可以使用TypeOfIs

If TypeOf MyObject Is Integer Then
intMyInteger = DirectCast(MyObject, Integer)
Else
intMyInteger = 0
End If


该测试可查看 MyObject的运行时类型是否为 Integer。有关更多详细信息,请参见 MSDN documentation on the TypeOf operator

您也可以这样写:

Dim myInt As Integer = If(TypeOf myObj Is Integer, DirectCast(myObj,Integer), 0)


此外,如果不适合使用具有默认值(如0)的整数,则可以考虑使用 Nullable(Of Integer)类型。

关于vb.net - 如何在VB.NET中从Object转换为Integer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13151196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com