2016-05-23 3 views
-1

Bellowが私のVBコードです。入力されたすべての単語をループし、すべての固有単語をその位置の辞書に入れようとしています。私はこのエラーを取得し、私はそれを修正する方法を知らない。私は何か提案をすることができますか?ありがとう。項目が辞書に含まれているかどうかを確認しようとするとエラーが発生します

エラー:オブジェクト参照がオブジェクトのインスタンスに設定されていません。

Public Class Form1 
    Dim sentence() As String 
    Dim uniqueWords As Dictionary(Of String, Integer) 

    Private Sub creatSaveBtn_Click(sender As Object, e As EventArgs) Handles creatSaveBtn.Click 
     sentence = sentenceInputTxt.Text.ToLower.Split(" ") 

     For Each word In sentence 
      If Not uniqueWords.ContainsKey(word) Then 
       uniqueWords.Add(word, uniqueWords.Count + 1) 
      End If 
     Next 
    End Sub 
End Class 
+0

あなたが望むすべてが言葉の明確なリストがある場合は、[(列の)HashSetの](https://msdn.microsoftを使用することを検討してください。 com/ja-us/library/bb359438%28v = vs.110%29.aspx?f = 255&MSPPError = -2147217396)。それぞれの潜在的な文字列に対して[Add](https://msdn.microsoft.com/en-us/library/bb353005(v=vs.110).aspx)メソッドを呼び出すと、HashSetはそうでない場合にのみ追加しますすでにHashSetに入っています。 –

答えて

2
Dim uniqueWords As New Dictionary(Of String, Integer) 

はまた、あなたは可能性:

Dim uniqueWords As List(Of String) = sentenceInputTxt.Text.ToLower.Split(" "c).Distinct().ToList() 
+0

ああありがとう、うわー私はそれを逃したのですか?どうもありがとう。 –

+0

@AlfieJones LinQを使用することもできます。私の編集をチェックしてください。 – shadow

関連する問題