是否可以添加一个String.contains多个值?

Esr*_*_92 4 vb.net asp.net string contains

我想创建一个控件,当我创建一个companyId时,不允许使用特殊字符创建id,如(&),(/),(),(ñ),('):

 If txtIdCompany.Text.Contains("&") Then
   // alert error message
 End If 
Run Code Online (Sandbox Code Playgroud)

但我不能这样做:

If txtIdCompany.Text.Contains("&", "/", "\") Then
       // alert error message
     End If 
Run Code Online (Sandbox Code Playgroud)

如何检查同一行中的多个字符串?

Tim*_*ter 7

你可以使用像Char()和的集合Enumerable.Contains.自从String实现IEnumerable(Of Char)这种简洁高效的LINQ查询工作:

Dim disallowed = "&/\"
If disallowed.Intersect(txtIdCompany.Text).Any() Then
    ' alert error message
End If
Run Code Online (Sandbox Code Playgroud)

这是一个类似的方法Enumerable.Contains:

If txtIdCompany.Text.Any(AddressOf disallowed.Contains) Then
    ' alert error message
End If
Run Code Online (Sandbox Code Playgroud)

第三种选择String.IndexOfAny:

If txtIdCompany.Text.IndexOfAny(disallowed.ToCharArray()) >= 0 Then
    ' alert error message
End If
Run Code Online (Sandbox Code Playgroud)