2016-05-23 12 views
-1

Bellow ist mein Vb-Code, ich versuche, alle eingegebenen Wörter zu durchlaufen und alle eindeutigen Wörter in ein Wörterbuch mit ihrer Position zu platzieren. Ich bekomme diesen Fehler aber und ich weiß nicht, wie ich das beheben soll. Bitte, kann ich irgendwelche Vorschläge haben; Vielen Dank.Ich bekomme einen Fehler, wenn ich versuche, zu überprüfen, ob ein Element in einem Wörterbuch ist

Der Fehler: Objektreferenz wurde nicht auf eine Instanz eines Objekts gesetzt.

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

Wenn alles, was Sie eine deutliche Liste von Wörtern ist wollen, sollten Sie einen [HashSet (Of String)] mit (https://msdn.microsoft. com/de-de/library/bb359438% 28v = vs.110% 29.aspx? f = 255 & MSPPError = -2147217396). Sie rufen die [Add] (https://msdn.microsoft.com/en-us/library/bb353005 (v = vs.110) .aspx) -Methode für jede mögliche Zeichenfolge auf, und die HashSet fügt sie nur hinzu, wenn dies nicht der Fall ist schon im HashSet. –

Antwort

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

auch Sie konnten:

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

Ohh danke, wow, wie habe ich das vermisst? Danke vielmals. –

+0

@ AlfieJones Sie könnten auch LinQ verwenden. Überprüfen Sie meine Bearbeitung. – shadow

Verwandte Themen