如何用空值替换值类型?
我正在编写一个调用 webservice 方法的 vb.net 应用程序。所涉及的 Web 服务方法接受大约 20 个参数,例如(字符串 x、字符串 y、字符串 z...整数 a、整数 b、整数 c)。
任何一个整数(ab 或 c)都可能没有被有意设置为一个值。但是,因为 Integer 是值类型(谢谢 Stack Overflow),所以我不能将其设置为 Nothing,因此当用户没有为这些整数选择特定值时,我将其默认为 -1。然而,当用户没有初始化这些整数时(不是 0 或 -1,它想要 Nothing/Null),webservice 方法希望我传递 Null/Nothing。
在没有多个条件的情况下,如何为Web服务提供它想要的东西,对Web服务的调用略有不同(例如,如果整数a = -1,则使用(x,y,z,Nothing,b,c)等调用Web服务... )?
I am writing a vb.net application which calls a webservice method. The webservice method in question accept some 20 parameters, such as (string x, string y, string z.... Integer a, Integer b, Integer c).
Its possible that any one of the integers (a b or c) is not purposefully set to a value. However, because Integer is a value type (thank you Stack Overflow) I cant set it to Nothing, thus I default it to -1 when the user has not selected a specific value for those integers. However, the webservice method wants me to pass it Null/Nothing when the user did not initialize those integers (not 0, or -1, it wants Nothing/Null).
How do I give the webservice what it wants short of multiple conditionals, with slightly different calls to the webservice (e.g. if integer a = -1 then call webservice with (x,y,z,Nothing,b,c) etc...)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
Nullable(Of T)
包装值类型,以便您可以将Nothing
与它们一起使用。因此,对于整数:
在网络上搜索“nullable types vb.net” - 有很多文章解释它们。
You can use
Nullable(Of T)
to wrap value types so you can useNothing
with them.So for integers:
Search the web for "nullable types vb.net" - there are many articles that explain them.