CType 和类型转换异常
Public Property Duration() As Integer
Get
Try
Return CType(Item(DurationColumn), Integer)
Catch e As Global.System.InvalidCastException
Throw New Global.System.Data.StrongTypingException("The value for column 'Duration' in table 'T_MembershipSale' is DBNull.", e)
End Try
End Get
Set(ByVal value As Integer)
Item(DurationColumn) = value
End Set
End Property
当用户想要将 ""
作为 Item(DurationColumn)
分配给整数时会发生什么?我有一个例外。有什么干净的解决方案可以避免这种情况并为 ""
设置 0
吗?
Public Property Duration() As Integer
Get
Try
Return CType(Item(DurationColumn), Integer)
Catch e As Global.System.InvalidCastException
Throw New Global.System.Data.StrongTypingException("The value for column 'Duration' in table 'T_MembershipSale' is DBNull.", e)
End Try
End Get
Set(ByVal value As Integer)
Item(DurationColumn) = value
End Set
End Property
What happens when a user wants to allocate ""
as Item(DurationColumn)
to integer? I get an exception. Any clean solution to avoid this and set 0
for ""
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用 Int32.TryParse:
这也可以处理“”的情况与用户可能输入的任何其他无效值(即非数字)一样。
Use Int32.TryParse:
This handles the case of "", as well as any other invalid value (i.e. non-number) the user might enter.
您可以先将函数返回值分配给变量,然后在转换之前检查变量。
You could assign function return to variable first then check variable before conversion.
看看
TryCast
和Int32.TryParse
。Look at
TryCast
andInt32.TryParse
.您可以使用
IsNumeric
You can use
IsNumeric