Vb.net 如何用零替换值类型?

Vb.net 如何用零替换值类型?,vb.net,null,nothing,Vb.net,Null,Nothing,我正在编写一个调用webservice方法的vb.net应用程序。所讨论的webservice方法接受大约20个参数,例如(字符串x、字符串y、字符串z………整数a、整数b、整数c) 可能任何一个整数(AB或c)都不是故意设置为值。但是,由于Integer是一种值类型(),我无法将其设置为Nothing,因此当用户没有为这些整数选择特定值时,我将其默认为-1。但是,当用户没有初始化这些整数时,webservice方法希望我传递Null/Nothing(不是0,也不是-1,它需要Nothing/N

我正在编写一个调用webservice方法的vb.net应用程序。所讨论的webservice方法接受大约20个参数,例如(字符串x、字符串y、字符串z………整数a、整数b、整数c)

可能任何一个整数(AB或c)都不是故意设置为值。但是,由于Integer是一种值类型(),我无法将其设置为Nothing,因此当用户没有为这些整数选择特定值时,我将其默认为-1。但是,当用户没有初始化这些整数时,webservice方法希望我传递Null/Nothing(不是0,也不是-1,它需要Nothing/Null)

除了多个条件外,我如何给Web服务提供它想要的东西,对Web服务的调用略有不同(例如,如果整数a=-1,那么使用(x、y、z、Nothing、b、c)等)调用Web服务?

您可以使用包装值类型,以便可以对它们使用
Nothing

对于整数:

Dim nullInt As Nullable(Of Integer)
nullInt = 10
nullInt = Nothing
在web上搜索“nullable types vb.net”-有许多文章对此进行了解释。

您可以使用它来包装值类型,这样您就可以对它们使用
Nothing

对于整数:

Dim nullInt As Nullable(Of Integer)
nullInt = 10
nullInt = Nothing

在web上搜索“nullable types vb.net”-有许多文章对此进行了解释。

@vb.netuser-很高兴我能提供帮助:)先生,我将我的数据类型转换为“As nullable(Of Integer)”,但在使用nullInt调用webservice方法时仍然存在问题(如您的示例)。我得到错误“可空对象必须有值”。有什么建议吗?如果nullInt.HasValue为true,则没有问题,但如果HasValue为false(例如,如果我将其设置为nothing),则仍然会出现该错误。@vb.netuser-很高兴我能提供帮助:)先生,我将数据类型转换为“As Nullable(Of Integer)”,但在使用nullInt调用webservice方法时仍然存在问题(如您的示例所示)。我得到错误“可空对象必须有值”。有什么建议吗?如果nullInt.HasValue为true,则没有问题,但如果HasValue为false(例如,如果我将其设置为nothing),则仍然会得到该错误。