如何用什么都不替换值类型?

n00*_*00b 1 vb.net null nothing

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

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

我如何给web服务提供它想要的多个条件,对web服务的调用略有不同(例如,如果整数a = -1,则用(x,y,z,Nothing,b,c)调用webservice等... )?

Ode*_*ded 5

您可以使用它Nullable(Of T)来包装值类型,以便您可以使用Nothing它们.

所以对于整数:

Dim nullInt As Nullable(Of Integer)
nullInt = 10
nullInt = Nothing
Run Code Online (Sandbox Code Playgroud)

在网上搜索"nullable types vb.net" - 有很多文章可以解释它们.