我有一个值列表,这些值都是字母和数字的组合,构成一个 ID,但在某些情况下,这可能只是一个 0。
我需要删除所有为 0 的情况。
我试过类似的东西
For i = 0 the list.count - 1
If list(i) = "0" Then
list.RemoveAt(j)
End If
Next
但是这会在最后抛出参数超出范围异常,因为循环继续,我不能使用 Exit For 因为我需要检查多个零。
我不太擅长似乎可以按我的意愿行事的 Lamda 表达式,但我不理解它们,所以如果有人能给出并解释一个可行的表达式,那就太好了。
最佳答案
从列表的末尾开始向后向0
For i = list.count - 1 to 0 Step -1
If list(i) = "0" Then
list.RemoveAt(j)
End If
Next
如果您想将 linq 与 lambda 一起使用,请使用 Where 来保留所有不等于“0”的项目并使用 ToList
list = list.Where(function(value) value <> "0").ToList
在这种情况下,lamda 与
Function IsNotZero(value As String) As Boolean
return value <> "0"
End Function
关于vb.net - 从 VB.NET 中的列表中删除特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33153655/