List(of String()) contains String()



我试图找出字符串数组是否存在于字符串数组列表中,但我遇到了一些混乱。下面是一些代码:

Dim listResults as List(of String)
Dim listStringArrays as List(of String())
Dim Something as String() = {"Foo", "Bar", "Stuff"}
Dim Otherthing as string() = {"Foo", "Bar", "Stuff"}
listStringArrays.Add(Something)
IF listStringArrays.Contains(Otherthing) then
listResults.Add("True")
Else
listResults.Add("False")
End If
IF listStringArrays(0).Equals(Otherthing) then
listResults.Add("True")
Else
listResults.Add("False")
End If
那么

listResults将包含两个"False"。但奇怪的是:

Something(0) = Otherthing(0)
Something(1) = Otherthing(1)
Something(2) = Otherthing(2)

这些的值都为true。我怎么能知道如果我的listStringArrays包含其他东西,如果包含不工作?

附加问题:为什么在这种情况下Contains不能工作?

内容相同的两个数组仍然不是同一个数组。Something = Otherthing为假。这就是为什么Contains不起作用。

您可以使用SequenceEqual来查看listStringArrays中是否有任何数组与Otherthing具有相同的内容。

If listStringArrays.Any(Function(t) t.SequenceEqual(Otherthing)) Then

最新更新