删除文本框行包含的值较小或较大。VB.Net

问题描述 投票:0回答:1

我如何编写代码以删除值<1和值大于> 80?

Textbox1.Lines

2
11
-1
82
73
11 
12
13
14
15

预期输出:

2
11
73
11
12
13
14
15

为什么不起作用。

If TextBox1.Lines.Contains < 1 Then
TextBox1.Lines(0).String.Empty
ElseIf TextBox1.Lines.Contains > 80 Then
TextBox1.Lines(0).String.Empty
End if.
vb.net
1个回答
0
投票

[首先,让我们查看.Contains方法的期望。https://docs.microsoft.com/en-us/dotnet/api/system.string.contains?view=netframework-4.8Public Function Contains (value As String) As Boolean啊哈!它需要一个字符串并返回True或False。现在,让我们看一下代码的第一行If TextBox1.Lines.Contains < 1 Then我看不到括号中包含字符串,因此该方法无法正常工作。您正在处理TextBox中的字符串。 .Lines是字符串,.Contains需要字符串。您无法将整数与字符串进行比较。

代码说明:

使用StringBuilder。每次“更改”字符串时,应用程序都必须丢弃旧字符串并创建一个全新的字符串。当您至少执行10次此操作时,您想使用可变(可变)的StringBuilder来保存所有发生的问题。

该行中的字符串必须转换为Integer,因此我们可以将其与另一个Integer进行比较。 AndAlso是短路,表示如果第一个条件为False,则不会打扰检查第二个条件。这是一个更快的速度。

Private Sub OPCode()
    Dim sb As New StringBuilder
    For Each line In TextBox1.Lines
        If CInt(line) > 1 AndAlso CInt(line) < 80 Then
            sb.AppendLine(line)
        End If
    Next
    TextBox2.Text = sb.ToString
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.