2016-12-06 8 views
-1

は、これは私のコードVisual Basicの.Contains()はnull例外

  Dim words(0) As String 
      Dim trie As String 
      Dim temp As String 
      For i = 1 To 26 
       trie = encrypt(a, -i) 
       Console.WriteLine(trie) 
       For j = 0 To words.Length - 1 
        temp = words(j) 
        If trie.Contains(temp) Then 
         Console.ReadLine() 
        End If 
       Next 
      Next 

トライは、配列ワードの任意の項目が含まれている場合は、チェックすべきであるが、それはNULL例外がスローされます。

encrypt(a, -i)はちょうどあなたがこれらの変数がヌルかどうかを確認する必要があり、文字列

+0

不足.. 'A'は何ですか? –

+0

例外は何ですか? –

+0

渡された引数がnull参照の場合、['String.Contains'](https://msdn.microsoft.com/de-de/library/dy85x1sa(v = vs.110).aspx)は' ArgumentNullException'をスローします。だから、あなたはそれをチェックしなければならない: '一時的なものではないならば、また、それ以外にもtrie.Contains(temp)Then ...' –

答えて

0

で文字を変更します。詳細の

Dim words(0) As String = String.Empty 
Dim trie As String = String.Empty 
Dim temp As String = String.Empty 

For i = 1 To 26 
    trie = encrypt(a, -i) 
    Console.WriteLine(trie) 
    For j = 0 To words.Length - 1 
     temp = words(j) 
     If Not temp Is Nothing AndAlso _ 
      Not trie Is Nothing AndAlso _ 
       trie.Contains(temp) Then 
       Console.ReadLine() 
     End If 
    Next 
Next