String.LastIndexOfAny Method (array<Char[], Int32)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Updated: October 2010
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.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Function LastIndexOfAny ( _
anyOf As Char(), _
startIndex As Integer _
) As Integer
public int LastIndexOfAny(
char[] anyOf,
int startIndex
)
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.
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 or if the current instance equals String.Empty.
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | anyOf is nulla null reference (Nothing in Visual Basic). |
ArgumentOutOfRangeException | The current instance does not equal String.Empty and startIndex specifies a position not within this instance. |
Remarks
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 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.
Examples
The following example finds the index of the last occurrence of any character in the string "is" within a substring of another string.
' Sample for String.LastIndexOfAny(Char[], Int32)
_
Class Example
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
Dim br1 As String = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-"
Dim br2 As String = "0123456789012345678901234567890123456789012345678901234567890123456"
Dim str As String = "Now is the time for all good men to come to the aid of their party."
Dim start As Integer
Dim at As Integer
Dim target As String = "is"
Dim anyOf As Char() = target.ToCharArray()
start = (str.Length - 1) / 2
outputBlock.Text += String.Format("The last character occurrence from position {0} to 0.", start) & vbCrLf
outputBlock.Text += String.Format("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str) & vbCrLf
outputBlock.Text += String.Format("A character in '{0}' occurs at position: ", target)
at = str.LastIndexOfAny(anyOf, start)
If at > -1 Then
outputBlock.Text &= at
Else
outputBlock.Text &= "(not found)"
End If
outputBlock.Text += String.Format("{0}{0}{0}", Environment.NewLine)
End Sub 'Main
End Class 'Sample
'
'This example produces the following results:
'The last character occurrence from position 33 to 0.
'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 'is' occurs at position: 12
'
'
'
// Sample for String.LastIndexOfAny(Char[], Int32)
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) / 2;
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, start);
if (at > -1)
outputBlock.Text += at;
else
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 33 to 0.
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 'is' occurs at position: 12
*/
Version Information
Silverlight
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
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
See Also
Reference
Change History
Date |
History |
Reason |
---|---|---|
October 2010 |
Noted that an exception is not thrown for an empty string if the index parameter is invalid. |
Content bug fix. |