Vb Net检查arrayList是否包含子字符串

时间:2016-03-09 16:08:45

标签: vb.net arraylist

我正在使用#myArrayList.Contains(myString)检查arrayList是否包含提供的字符串并分别获取其索引。

但是,我如何检查是否包含子字符串?

myArrayList.IndexOf(myString)

所以,像Dim myArrayList as New ArrayList() myArrayList.add("sub1;sub2") myArrayList.add("sub3;sub4") 这样的东西应该返回True

2 个答案:

答案 0 :(得分:2)

您可以使用ArrayList搜索带有

的子字符串
Dim result = myArrayList.ToArray().Any(Function(x) x.ToString().Contains("sub3"))

当然,使用强类型List(Of String)的建议绝对正确。

答案 1 :(得分:1)

就你的问题而言,没有讨论为什么你需要ArrayList,因为数组列表只是为了向后兼容 - 选择包含特定字符串的项目的索引,你将获得最佳性能

Dim indexes As New List(Of Integer)(100)

For i As Integer = 0 to myArrayList.Count - 1
    If DirectCast(myArrayList(i), String).Contains("sub3") Then
        indexes.Add(i)
    End If
Next

同样,这是你需要获取索引的。在您的情况下,ArrayList.Contains - 您测试整个对象[在您的情况下为字符串]。虽然您需要获取字符串并使用String.Contains

测试它的部分内容

如果您想以非区分大小写的方式进行测试,可以使用String.IndexOf