如何在VB.NET中初始化char到空字符

时间:2016-12-01 10:00:37

标签: vb.net

我正在尝试使用

分配空字符

Private m_ClientAreaCode As Char = ''

但我无法分配。

3 个答案:

答案 0 :(得分:0)

只使用Nothing for this

Function get_p()
    Source = Json.Document (Web.Contents("https://example.com/api?token=TOKEN&lat=5.3&lng=103.8"))
    name = Source[Area]
    get_p = Name
End Function

在VB.Net

  

Nothing代表数据类型的默认值。

Documentation

虽然您不必分配任何内容来获取默认值,但这两行会产生相同的结果:

Private m_ClientAreaCode As Char = Nothing

答案 1 :(得分:0)

没有"空字符的概念"在VB.NET中。 Char具有固定大小,因此您无法将其设为空。

如果要将char变量显式初始化为null字符:

Private m_ClientAreaCode As Char? = Chr(0)

答案 2 :(得分:0)

这是一个小应用程序,显示了许多可能性。有趣的是使用此字符时的输出。

Private m_ClientAreaCode As Char

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Debug.WriteLine("")
    Dim test1 As String = "one"
    Dim test2 As String = "two"

    Dim test As String

    test = "    1 " & test1 & m_ClientAreaCode & test2
    Debug.WriteLine(test)

    m_ClientAreaCode = Nothing
    test = "    2 " & test1 & m_ClientAreaCode & test2
    Debug.WriteLine(test)

    m_ClientAreaCode = Chr(0)
    test = "    3 " & test1 & m_ClientAreaCode & test2
    Debug.WriteLine(test)

    m_ClientAreaCode = ControlChars.NullChar
    test = "    4 " & test1 & m_ClientAreaCode & test2
    Debug.WriteLine(test)

    m_ClientAreaCode = CChar("")
    test = "    5 " & test1 & m_ClientAreaCode & test2
    Debug.WriteLine(test)
End Sub

<强>输出

1 one    2 one    3 one    4 one    5 one

输出缺少“两个”并出现在同一行。字符串包含字符,但某些方法以不同方式处理'null'。请注意。

您需要阅读此内容,

https://msdn.microsoft.com/en-us/library/system.string%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396#EmbeddedNulls