我如何编写代码以删除值<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.
[首先,让我们查看.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