2017-02-19 46 views
0

我想在VB.NET控制檯應用程序中創建指定數量的字符串。我試過這段代碼,但它引發了一個異常:創建指定數量的字符串

NullReferenceException:Object Reference未設置到對象的實例中。

這是代碼:

Module RandStrConsole 

Dim r As New Random 
Dim s As String 
Dim result As System.Text.StringBuilder 
Dim sb As System.Text.StringBuilder 
Dim MaxChar As Integer 


Sub Main() 

    Console.Write("Enter String: ") : s = Console.ReadLine 
    Console.Write("Maxchar: ") : MaxChar = Console.ReadLine 

    For i As Integer = 1 To MaxChar 

     Dim idx As Integer = r.Next(0, s.Count - 1) 
     result = sb.Append(s.Substring(idx, 1)) 'NullReferenceException: Object Reference not set into an instance of an Object. 
     result.ToString() 

    Next 

    Console.WriteLine(result) 
    Console.ReadKey() 


End Sub 

End Module 

註釋的部分表示異常發生的地點。

+0

如果我的答案解決了您的問題,那麼請記住按下左側的勾號/複選標記將其標記爲已接受。 - 更多信息可以在這裏找到:[**如何接受答案工作?**](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –

+0

很高興我能幫上忙!祝你的項目好運! –

+1

謝謝@VisualVincent,我希望你能接觸更多的人來幫忙! – Karuntos

回答

-1

您忘記初始化StringBuilders。您必須使用New keyword

Dim result As New System.Text.StringBuilder 
Dim sb As New System.Text.StringBuilder