String.IndexOfAny Method (Char())

Reports the zero-based index of the first occurrence in this instance of any character in a specified array of Unicode characters.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Function IndexOfAny ( _
	anyOf As Char() _
) As Integer

Parameters

anyOf
Type: System.Char()

A Unicode character array containing one or more characters to seek.

Return Value

Type: System.Int32
The zero-based index position of the first occurrence in this instance where any character in anyOf was found; -1 if no character in anyOf was found.

ExceptionCondition
ArgumentNullException

anyOf is Nothing.

Index numbering starts from zero.

The search for anyOf is case-sensitive.

This method performs an ordinal (culture-insensitive) search, where a character is considered equivalent to another character only if their Unicode scalar value are the same. To perform a culture-sensitive search, use the CompareInfo.IndexOf method, where a Unicode scalar value representing a precomposed character, such as the ligature "Æ" (U+00C6), might be considered equivalent to any occurrence of the character's components in the correct sequence, such as "AE" (U+0041, U+0045), depending on the culture.

The following example uses the IndexOfAny method to check for invalid characters in a user entered string.

' Get the tree node under the mouse pointer and 
' save it in the mySelectedNode variable.  
Private Sub treeView1_MouseDown(sender As Object, _
  e As System.Windows.Forms.MouseEventArgs)

   mySelectedNode = treeView1.GetNodeAt(e.X, e.Y)
End Sub     

Private Sub menuItem1_Click(sender As Object, e As System.EventArgs)
   If Not (mySelectedNode Is Nothing) And _
     Not (mySelectedNode.Parent Is Nothing) Then
      treeView1.SelectedNode = mySelectedNode
      treeView1.LabelEdit = True 
      If Not mySelectedNode.IsEditing Then
         mySelectedNode.BeginEdit()
      End If 
   Else
      MessageBox.Show("No tree node selected or selected node is a root node." & _
        Microsoft.VisualBasic.ControlChars.Cr & _
        "Editing of root nodes is not allowed.", "Invalid selection")
   End If 
End Sub     

Private Sub treeView1_AfterLabelEdit(sender As Object, _
  e As System.Windows.Forms.NodeLabelEditEventArgs)
   If Not (e.Label Is Nothing) Then 
      If e.Label.Length > 0 Then 
         If e.Label.IndexOfAny(New Char() {"@"c, "."c, ","c, "!"c}) = -1 Then 
            ' Stop editing without canceling the label change.
            e.Node.EndEdit(False)
         Else 
            ' Cancel the label edit action, inform the user, and 
            ' place the node in edit mode again. 
            e.CancelEdit = True
            MessageBox.Show("Invalid tree node label." & _
              Microsoft.VisualBasic.ControlChars.Cr & _
              "The invalid characters are: '@','.', ',', '!'", _
              "Node Label Edit")
            e.Node.BeginEdit()
         End If 
      Else 
         ' Cancel the label edit action, inform the user, and 
         ' place the node in edit mode again. 
         e.CancelEdit = True
         MessageBox.Show("Invalid tree node label." & _
           Microsoft.VisualBasic.ControlChars.Cr & _
           "The label cannot be blank", "Node Label Edit")
           e.Node.BeginEdit()
      End If 
   End If 
End Sub

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft