我想发现并使用VB.Net等效替换VB6中看到的VbNull
值,但我找不到表示该值为空的正确值。在VB.Net中VB6的vbNull等价物?
Dim formatProvider As NumberFormatInfo =
DirectCast(CultureInfo.GetCultureInfo("es-ES").NumberFormat.Clone, NumberFormatInfo)
With formatProvider
.NumberDecimalSeparator = Microsoft.VisualBasic.vbNull
End With
Dim pi As String = Math.PI.ToString(String.Empty, formatProvider)
的NumberDecimalSeparator
酒店不接受空值,但它accpets的vbNull
价值,以及和它的作品perfectlly(隔板被删除),所以......我想,我可以使用复制相同的结果.Net类库避免在VB6上使用。
我试图取代vbNull
与其他价值观,但都由于物业的空虚限制,我上面提到的给一个例外:
""
String.Empty
ControlChars.NullChar()
DBNull.Value.ToString
Nothing
UPDATE
我也尝试了这些假设的解决方案,其中的任何一个会抛出一个空值的异常,但相反,它不会给我预期的结果,因为使用这个作为分隔符来格式化十进制数时,打印的数字被打破。
Convert.ToChar(0)
Char.ConvertFromUtf32(0)
New String(Char.ConvertFromUtf32(0))
.NumberDecimalSeparator = CHRW(&H200B) – 2014-10-17 10:14:04
汉斯使用'零长度space'提示 - 这是一个CH字符不显示 - http://www.fileformat.info/info/unicode/char/200B/index.htm – MarkJ 2014-10-17 11:26:03
VB6的VbNull不会做你认为它的作用。它用于比较对象的VarType(ala现代的GetType)。 VbNull将等于NET中的Nothing。 – Plutonix 2014-10-17 19:55:36