检查字符串列表是否包含

时间:2017-10-23 21:41:04

标签: vb.net list

我想检查List(Of String)中是否存在字符串。

编译器告诉我“在这段代码中,String的值不能转换为Predicate(Of String):

Private _LockedImageGUIDs As New List(Of String)

If Not _LockedImageGUIDs.Exists(uImageGUID) Then
    _LockedImageGUIDs.Add(uImageGUID)
End If

我想知道如何正确地做到这一点。

3 个答案:

答案 0 :(得分:3)

查看文档。

由于错误试图告诉您,Exists()没有收件。

您需要名称恰当的Contains()函数。

答案 1 :(得分:2)

使用Contains要简单得多,但是如果你想使用Exists那么你应该写这样的东西

if Not _LockedImageGUIDs.Exists(Function(x) uImageGUID = x) Then
    ....

正如您所看到的,Contains方法更简单,更快,而我认为当您的比较逻辑更复杂时,应该使用Exists。

答案 2 :(得分:0)

试试这个:

Private _LockedImageGUIDs As New List(Of String)

If Not _LockedImageGUIDs.contains(uImageGUID) Then
_LockedImageGUIDs.Add(uImageGUID)
End If