【发布时间】:2013-09-27 17:44:14
【问题描述】:
在 VB.NET 中,我试图确定给定字符串是否存在于字符串数组中。根据我的研究,数组有一个我可以使用的“包含”方法,所以代码看起来像这样:
Dim fileTypesZ As String() = {"PDF", "TXT", "DOC", "DOCX", "XLS", "XLSX", "JPG", "JPGE", "BMP", "GIF"}
If (fileTypesZ.Contains(tempTest)) Then
End If
但是,VB.NET 说“包含”不是“System.Array”的成员。我可以使用另一种方法吗?
【问题讨论】:
-
如果您使用 .NET 2,您可以使用
List.Contains:Dim fileTypesZ = new List(Of String)({"PDF", "TXT", "DOC", "DOCX", "XLS", "XLSX", "JPG", "JPGE", "BMP", "GIF"}) -
@varocarbas 它只有在你有
Imports System.Linq的情况下才有效(见我的回答) - 这是默认设置,所以大多数人都这样做,但如果它被删除,这将不起作用原样 -
@ReedCopsey 我没有导入 System.Linq。如果您打开一个新项目(VS 2008 或 2010)并编写此代码,它会起作用。
-
@varocarbas:另一种可以用于 .NET 2 的方法是
Array.Find。 -
@TimSchmelter 你提出了很多有效的观点,你为什么不写一个答案?它可能是 Reed Copsey 的替代品(如果您不能使用“包含”,则可以使用其他选项)。