删除包含较小值或较大值的文本框行VB.Net
如何执行代码以删除值80 Textbox1.行删除包含较小值或较大值的文本框行VB.Net,vb.net,Vb.net,如何执行代码以删除值80 Textbox1.行 2 11 -1 82 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. 如果TextBox1.Lines.Contains80
2
11
-1
82
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.
如果TextBox1.Lines.Contains<1,则
TextBox1.Lines(0).String.Empty
ElseIf TextBox1.Lines.Contains>80则
TextBox1.Lines(0).String.Empty
结束如果。
首先,让我们查看包含的方法所期望的内容。
公共函数包含布尔值(值为字符串)
啊哈!它需要一个字符串并返回True或False。
现在,让我们看一下代码的第一行
如果TextBox1.Lines.Contains<1,则
我看不到包含字符串的括号,因此该方法无法工作。您正在处理文本框中的字符串<代码>。行
是字符串,包含
需要字符串。不能将整数与字符串进行比较
代码说明:
使用StringBuilder。每次“更改”字符串时,应用程序都必须扔掉旧字符串并创建一个全新的字符串。当您这样做至少10次时,您希望通过使用可变(可更改)的StringBuilder来避免所有的颠簸
行中的字符串必须转换为整数,以便我们可以将其与另一个整数进行比较。AndAlso是一种短路,意味着如果第一个条件为假,则不必检查第二个条件。这稍微快一点
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
Private子操作码()
使某人成为新的架线工
对于TextBox1.行中的每一行
如果CInt(line)>1且CInt(line)<80,则
某人追加(行)
如果结束
下一个
TextBox2.Text=sb.ToString
端接头
TextBox1.Lines=TextBox1.Lines.Where(Function(n)CInt(n)>=1且字符串的整数也是无效的。我不知道这意味着什么。如果你写了,例如,CInt(n)>=1
,如果你改为写CInt(n)>=1,那没关系
那就不好了。好的,谢谢你更改了。我现在就试试。这样我的代码就会变成一个文本框行,这就是我在上面的模板中显示它的方式。我没有更改任何内容。我建议如何使用/不使用该方法。
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