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.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- anyOf
- Type: System.Char()
A Unicode character array containing one or more characters to seek.
Return Value
Type: System.Int32The 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.
| Exception | Condition |
|---|---|
| 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
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.