2017-02-19 9 views
0

Я хочу создать указанное количество строк в консольном приложении VB.NET. Я пробовал этот код, но он выдает исключение:Создание заданного числа строк

NullReferenceException: Ссылка на объект не установлена ​​в экземпляр объекта.

Это код:

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