VB.NET Windows Forms для каждого пробела в строке - PullRequest
2 голосов
/ 02 ноября 2011

Хи, у меня есть этот код

Dim RandomNumber As New Random()
Dim msg As String = "My name is Nick from Neptune"
For each space as char in msg
msg = msg.replace(" ", RandomNumber.Next(0, 33))
Next

Но это не работает. Кто-нибудь может мне помочь? В конце строка должна выглядеть так:

My12name455is22Nick88from66Neptune

Заранее спасибо и извините за мой английский.

Ответы [ 2 ]

2 голосов
/ 02 ноября 2011

Я изменил его на работу, мои извинения:

Option Infer On

Module Module1

Sub Main()
    Dim RandomNumber As New Random()
    Dim msg As String = "My name is Nick from Neptune"
    Dim newmessage As String = ""
    Dim d = msg.Split(" ").ToList()

    For Each t In d
        newmessage = newmessage & Convert.ToString(t) & RandomNumber.[Next](0, 33).ToString()
    Next

    Console.WriteLine(newmessage)
End Sub

Конечный модуль

enter image description here

0 голосов
/ 02 ноября 2011

Есть несколько проблем с тем, что вы написали. Основным является то, что метод Message.Replace заменит все пробелы в вашей строке первым сгенерированным случайным числом. Попробуйте разбить строку там, где есть пробелы, а затем соединить их со своими случайными числами между ними. Что-то вроде этого.

Dim RandomNumber As New Random()
Dim msg As String = "My name is Nick from Neptune"
Dim temp = msg.Split(CChar(" "))
Dim first As Boolean = True

For Each s As String In temp
    If first Then
        msg = s
    Else
        msg = msg + RandomNumber.Next(0, 33).ToString + s
    End If
    first = False
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...