Использование переменной до того, как ей было присвоено значение? - PullRequest
0 голосов
/ 03 апреля 2012

Из статьи MSDN, которую я прочитал, я должен использовать StringBuilder, а не конкатенировать обычную строку.Однако я не знаю, почему я получаю следующую ошибку: «Переменная« ShowString »используется до того, как ей было присвоено значение. Во время выполнения может возникнуть исключение нулевой ссылки».

Следующий код:

Dim ShowString As StringBuilder
    Dim ShowSort As StringBuilder
    'ShowString.
    ShowString.Append("POS,tdate,Product")
    '========Show Options==================
    If CheckBox1.Checked = True Then
        ShowString.Append(",tkey")
    End If
    If CheckBox2.Checked = True Then
        ShowString.Append(",Price")
    End If
    If CheckBox3.Checked = True Then
        ShowString.Append(",FID")
    End If
    '==========End Show Options============

    '=========Sort Options================
    If RadioButton1.Checked = True Then
        ShowSort.Append("tdate")
        If RadioButton8.Checked Then
            ShowSort.Append(" desc")
        End If
    End If
    If RadioButton2.Checked = True Then
        ShowSort.Append("tkey")
        If RadioButton8.Checked Then
            ShowSort.Append(" desc")
        End If
    End If
    '=======End Sort Options=============
    Dim sort As String = ShowSort.ToString
    Dim show As String = ShowString.ToString
    Try
        con.Open()
    Catch ex As Exception
        MessageBox.Show("Please contact support, there was a database error with the following message: " & ex.Message, "Cannot Connect", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End Try

1 Ответ

6 голосов
/ 03 апреля 2012

Вам необходимо присвоить объекту StringBuilder ссылки:

Dim ShowString As StringBuilder = New StringBuilder()

Или:

Dim ShowString As New StringBuilder()
...