Vb.net 如何从数组中删除字符串?
在我的代码中,我有一个添加按钮,可以将一个单词添加到数组中最多10次。我如何制作一个删除按钮,以便能够键入当前标签中的单词,并从标签和数组中删除该单词 注意:为了添加到标签,您还必须在文本框中键入一个单词,然后点击添加按钮Vb.net 如何从数组中删除字符串?,vb.net,Vb.net,在我的代码中,我有一个添加按钮,可以将一个单词添加到数组中最多10次。我如何制作一个删除按钮,以便能够键入当前标签中的单词,并从标签和数组中删除该单词 注意:为了添加到标签,您还必须在文本框中键入一个单词,然后点击添加按钮 Public Class Form1 Dim i, j As Integer Dim s(9) As String Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Ev
Public Class Form1
Dim i, j As Integer
Dim s(9) As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'working add button
Label1.Text = Nothing
s(j) = TextBox1.Text
For i = 0 To 9
Label1.Text &= s(i) & " "
Next
j += 1
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'attempt at a delete button
s(j) = TextBox1.Text
For i = 0 To 9
If deleteWord = s(j) Then
deleteWord = Nothing
ReDim Preserve s(s.Length - 1)
Label1.Text &= s(i) & " "
End If
Next
j += 1
End Sub
结束类解决问题最简单的方法是使用
列表(T)
,因为这样您只需执行以下任一操作:
MyList.Remove(deleteWord)
或:
扩展方法的工作原理如下:它复制自身的一个子部分(指定索引之后的所有内容),并用它替换要删除的项。从技术上讲,它将指定索引后的每个项目向左移动一步<代码>{0,1,2,3}->{0,2,3,}
然后调整数组的大小以删除最后一个未使用的索引
完成后,您可以在循环中使用如下扩展方法:
If deleteWord = s(i) Then
s.RemoveAt(i) 'Removes the specified item.
End If
或者更简单,没有循环:
Dim Index As Integer = Array.IndexOf(s, deleteWord)
If Index > -1 Then
s.RemoveAt(Index)
End If
你有没有试过用谷歌搜索?主要示例-最早的热门作品之一;不清楚您认为这段代码应该做什么。但是,如果您希望能够从数组中添加和删除项,则可能应该使用
列表(字符串)
而不是数组。允许在数组不存在的情况下添加和删除项目。@Blackwood MY teahcer希望有一个文本框,您可以在其中键入一个单词,然后单击“添加”,并将其添加到标签中。然后,你可以在标签中键入一个单词,然后点击删除按钮删除键入的单词。那么,为什么你的问题会询问添加到数组和从数组中删除?@Blackwood她说字符串将进入数组。因此,您可以向数组中添加或删除字符串。。。
If deleteWord = s(i) Then
s.RemoveAt(i) 'Removes the specified item.
End If
Dim Index As Integer = Array.IndexOf(s, deleteWord)
If Index > -1 Then
s.RemoveAt(Index)
End If