vb.net – VB检查int是否为空

vb.net – VB检查int是否为空,第1张

概述一个非常无聊的问题,对不起,但我真的不知道那个;)我已经尝试过始终string.empty,但是使用小数会产生错误. 有什么功能吗?不幸的是,对于最简单的问题,谷歌没有答案 你的标题(和标签)询问“int”,但你的问题是你得到一个带有“十进制”的错误.无论哪种方式,当涉及到 value type(例如整数,十进制等)时,都没有“空”这样的东西.它们不能像 reference type那样设置为No 一个非常无聊的问题,对不起,但我真的不知道那个;)我已经尝试过始终string.empty,但是使用小数会产生错误.

有什么功能吗?不幸的是,对于最简单的问题,谷歌没有答案

解决方法 你的标题(和标签)询问“int”,但你的问题是你得到一个带有“十进制”的错误.无论哪种方式,当涉及到 value type(例如整数,十进制等)时,都没有“空”这样的东西.它们不能像 reference type那样设置为nothing(如String或类).相反,值类型具有隐式默认构造函数,可自动将该类型的变量初始化为其默认值.对于像Integer和Decimal这样的数值,这是0.对于其他类型,请参阅 this table.

因此,您可以使用以下代码检查是否已初始化值类型:

Dim myFavoriteNumber as Integer = 24If myFavoriteNumber = 0 Then    ''#This code will obvIoUsly never run,because the value was set to 24End IfDim mySecondFavoriteNumber as IntegerIf mySecondFavoriteNumber = 0 Then    MessageBox.Show("You haven't specifIEd a second favorite number!")End If

请注意,编译器在幕后自动将mySecondFavoriteNumber初始化为0(整数的默认值),因此If语句为True.实际上,上面的mySecondFavoriteNumber声明等同于以下语句:

Dim mySecondFavoriteNumber as Integer = 0

当然,正如你可能已经注意到的那样,没有办法知道一个人最喜欢的号码是否真的为0,或者他们是否还没有指定一个喜欢的号码.如果您确实需要一个可以设置为nothing的值类型,则可以使用Nullable(Of T),将变量声明为:

Dim mySecondFavoriteNumber as Nullable(Of Integer)

并检查是否已按如下方式分配:

If mySecondFavoriteNumber.HasValue Then    ''#A value has been specifIEd,so display it in a message Box    MessageBox.Show("Your favorite number is: " & mySecondFavoriteNumber.Value)Else    ''#No value has been specifIEd,so the Value property is empty    MessageBox.Show("You haven't specifIEd a second favorite number!")End If
总结

以上是内存溢出为你收集整理的vb.net – VB检查int是否为空全部内容,希望文章能够帮你解决vb.net – VB检查int是否为空所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1252921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存