String.LastIndexOfAny Method (Char[], Int32, Int32)
Reports the zero-based index position of the last occurrence in this instance of one or more characters specified in a Unicode array. The search starts at a specified character position and proceeds backward toward the beginning of the string for a specified number of character positions.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- anyOf
-
Type:
System.Char[]
A Unicode character array containing one or more characters to seek.
- startIndex
-
Type:
System.Int32
The search starting position. The search proceeds from startIndex toward the beginning of this instance.
- count
-
Type:
System.Int32
The number of character positions to examine.
Return Value
Type: System.Int32The index position of the last occurrence in this instance where any character in anyOf was found; -1 if no character in anyOf was found or if the current instance equals String.Empty.
| Exception | Condition |
|---|---|
| ArgumentNullException | anyOf is null. |
| ArgumentOutOfRangeException | The current instance does not equal String.Empty, and count or startIndex is negative. -or- The current instance does not equal String.Empty, and startIndex minus count + 1 is less than zero. |
Index numbering starts from zero.
This method begins searching at the startIndex character position of this instance and proceeds backward toward the beginning until either a character in anyOf is found or count character positions have been examined. The search 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 values are the same. To perform a culture-sensitive search, use the CompareInfo.LastIndexOf 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 last occurrence of any character in the string "aid" within a substring of another string.
// Sample for String.LastIndexOfAny(Char[], Int32, Int32) using System; class Sample { public static void 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"; char[] anyOf = target.ToCharArray(); start = ((str.Length-1)*2)/3; count = (str.Length-1)/3; Console.WriteLine("The last 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.LastIndexOfAny(anyOf, start, count); if (at > -1) Console.Write(at); else Console.Write("(not found)"); Console.Write("{0}{0}{0}", Environment.NewLine); } } /* This example produces the following results: The last character occurrence from position 44 for 22 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