String::IndexOfAny Method (array<Char>^, Int32, Int32)
Reports the zero-based index of the first occurrence in this instance of any character in a specified array of Unicode characters. The search starts at a specified character position and examines a specified number of character positions.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- anyOf
-
Type:
array<System::Char>^
A Unicode character array containing one or more characters to seek.
- startIndex
-
Type:
System::Int32
The search starting position.
- count
-
Type:
System::Int32
The number of character positions to examine.
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 null. |
| ArgumentOutOfRangeException | count or startIndex is negative. -or- count + startIndex is greater than the number of characters in this instance. |
The search begins at startIndex and continues to startIndex + count -1. The character at startIndex + count is not included in the search.
Index numbering starts from zero. The startIndex parameter can range from 0 to one less than the length of the string instance.
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 finds the index of the occurrence of any character of the string "aid" within a substring of another string.
// Sample for String::IndexOfAny(Char[], Int32, Int32) using namespace System; int main() { String^ br1 = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-"; String^ br2 = "0123456789012345678901234567890123456789012345678901234567890123456"; String^ str = "Now is the time for all good men to come to the aid of their party."; int start; int at; int count; String^ target = "aid"; array<Char>^anyOf = target->ToCharArray(); start = (str->Length - 1) / 3; count = (str->Length - 1) / 4; Console::WriteLine(); Console::WriteLine( "The first character occurrence from position {0} for {1} characters.", start, count ); Console::WriteLine( "{1}{0}{2}{0}{3}{0}", Environment::NewLine, br1, br2, str ); Console::Write( "A character in '{0}' occurs at position: ", target ); at = str->IndexOfAny( anyOf, start, count ); if ( at > -1 ) Console::Write( at ); else Console::Write( "(not found)" ); Console::WriteLine(); } /* The first character occurrence from position 22 for 16 characters. 0----+----1----+----2----+----3----+----4----+----5----+----6----+- 0123456789012345678901234567890123456789012345678901234567890123456 Now is the time for all good men to come to the aid of their party. A character in 'aid' occurs at position: 27 */
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1