Export (0) Print
Expand All

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft