VB.NET - Array.Contains的替代?

dpp*_*dpp 3 vb.net arrays search

以前,我在.NET Framework 3.5上使用它,它工作正常:

    If (New String() {"ER", "PM", "EM", "OC"}).Contains(Session("Position")) Then
        'Some codes
    End If
Run Code Online (Sandbox Code Playgroud)

现在我正在做一个运行.NET 2.0的项目,上面的代码不起作用,它给了我这个:

'Contains' is not a member of 'System.Array'.
Run Code Online (Sandbox Code Playgroud)

如何在不从2.0迁移到3.0的情况下实现上述代码(.Contains)?任何替代品?

jmo*_*eno 7

您将不得不重写您的代码,就像这样......

If (Array.IndexOf(New String() {"ER", "PM", "EM", "OC"}), Session("Position")>-1) Then
        'Some codes
End If
Run Code Online (Sandbox Code Playgroud)

集合初始化程序依赖于编译器,但不依赖于目标框架,因此这应该有效.

编辑:修正了错误的方法/条件.当我正在研究这个时,我被一个漏水的水槽打断了,并且在我确认它有效之前并不打算发布它.

http://ideone.com/i84QX