Member 13985992 Ответов: 1

Заменить(var1, var2, " ") не получится VB.NET


Я хочу, чтобы когда флажок снят, чтобы удалить текст с переменной
Imports System
Imports System.IO
Imports System.Text
Imports System.Environment

Public Class Form1

    Dim slowchecked As Boolean = False
    Dim filepath As String
    Dim code1 As String = ""
    Dim slowdown As String

    Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
        If slowchecked = False Then
            slowdown = ("start" & NewLine & "start" & NewLine & "start" & NewLine & "start" _
                & NewLine & "start" & NewLine & "start" & NewLine & "start crash" & NewLine)
            code1 = (code1 & slowdown)
            slowchecked = True
        ElseIf slowchecked = True Then
            Replace(code1, slowdown, "")
            MsgBox(code1)
            slowchecked = False
        End If
    End Sub
End Class


но он не удаляется и не выходит с ошибкой

Что я уже пробовал:

Попробовал замена "заменить(код1, замедление, "")" с "код1.Заменить(замедление, "")" но я не знаю, что еще попробовать.

1 Ответов

Рейтинг:
2

OriginalGriff

Да, это так. Но не так, как вы предполагаете, он бы.
Replace не изменяет строки, он возвращает новую строку с выполненными заменами: Функция замены (VB6) - VB & VBA в двух словах: язык [книга][^]
Поэтому вам нужно присвоить результат переменной, или он просто отбрасывается.

Кстати: если вы собираетесь использовать VB.NET, то вы должны прекратить использовать функции VB6, такие как Replace и MsgBox, и использовать .Вместо этого сетевые версии: Строка.Метод Замены (Система) | Microsoft Docs[^] и Ящик для сообщений.Показать Метод (System.Windows) | Microsoft Docs[^]


Member 13985992

Я не понимаю, что вы подразумеваете под назначением результата? Приведите мне пример.

OriginalGriff

А ты как думаешь? Как бы вы обычно присваивали значение переменной?

Member 13985992

- Я не знаю! Я нищий.

OriginalGriff

Так ты никогда этого не видел:

noOfItems = 6

Мне трудно в это поверить...

Member 13985992

все еще не понимаю соз
зачем мне это нужно

OriginalGriff

noOfItems = 6
    ^     ^ ^
    |     | |
    |     |  -- Value
    |      ---- Assignment operator
     ---------- Variable


Какая часть этого дает вам проблемы?

Member 13985992

зачем мне это нужно?

OriginalGriff

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

Member 13985992

я оглянулся на комментарии и неправильно истолковал ваш ответ, я действительно присвоил значение var, просто чтобы убедиться, о какой переменной вы говорите?

OriginalGriff

:вздыхать:

Как называется ваш вопрос?
ПОДСКАЗКА. ПОДСКАЗКА.

Member 13985992

НЕ РАБОТАЕТ! Это название вопроса.

OriginalGriff

О, ФФС.

1) включить мозг.
2) Перейдите по ссылке в исходном решении.
3) Читайте. Я знаю, что ты можешь сделать это сама ...
4) Найдите бит, где он говорит "возвращаемое значение", и обратите огромное внимание на то, что он говорит ниже этого.
5) возможно, подумайте немного.
6) Добавьте переменную и оператор присваивания в свой код...
7) прибыль ...:смех: