String.LastIndexOfAny Method (Char[])

Reports the zero-based index position of the last occurrence in this instance of one or more characters specified in a Unicode array.

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

public int LastIndexOfAny(
	char[] anyOf


Type: System.Char[]
A Unicode character array containing one or more characters to seek.

Return Value

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


anyOf is null.

Index numbering starts from zero.

This method begins searching at the last character position of this instance and proceeds backward until either a character in anyOf is found or the first character position has 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 code example finds the index of the last occurrence of any character in the string "is" within another string.

// Sample for String.LastIndexOfAny(Char[])
using System;

class Example
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)

      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;
      string target = "is";
      char[] anyOf = target.ToCharArray();

      start = str.Length - 1;
      outputBlock.Text += String.Format("The last character occurrence  from position {0} to 0.", start) + "\n";
      outputBlock.Text += String.Format("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str) + "\n";
      outputBlock.Text += String.Format("A character in '{0}' occurs at position: ", target);

      at = str.LastIndexOfAny(anyOf);
      if (at > -1)
         outputBlock.Text += at;
         outputBlock.Text += "(not found)";
      outputBlock.Text += String.Format("{0}{0}{0}", Environment.NewLine);
This example produces the following results:
The last character occurrence  from position 66 to 0.
Now is the time for all good men to come to the aid of their party.

A character in 'is' occurs at position: 58



Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.