信息
您所需的主题如下所示。但此主题未包含在此库中。

String.LastIndexOfAny 方法 (Char[], Int32)

2013/12/13

报告在 Unicode 数组中指定的一个或多个字符在此实例中的最后一个匹配项的从零开始的索引位置。搜索从指定的字符位置开始,并继续后移到字符串的开始。

Namespace:  System
程序集:  mscorlib(位于 mscorlib.dll 中)

public int LastIndexOfAny(
	char[] anyOf,
	int startIndex
)

参数

anyOf
类型: System.Char []
Unicode 字符数组,包含一个或多个要查找的字符。
startIndex
类型: System.Int32
搜索起始位置。搜索继续从 startIndex 移向实例的开始。

返回值

类型: System.Int32
此实例中最后一个匹配项的索引位置,在此位置找到 anyOf 中的任意字符;否则,如果未找到 anyOf 中的字符或当前实例等于 String.Empty,则为 -1。

异常条件
ArgumentNullException

anyOfnull

ArgumentOutOfRangeException

当前实例不等于 String.Empty 并且 startIndex 指定一个不在此实例中的位置。

索引编号从零开始。

此方法从该实例的 startIndex 字符位置开始,沿反向向前搜索,直到找到 anyOf 中的字符或检查完第一个字符位置为止。该搜索区分大小写。

此方法执行顺序(不区分区域性)搜索,即仅当 Unicode 标量值相同时两个字符才被视为相等。若要执行区分区域性的搜索,请使用 CompareInfo.LastIndexOf 方法,根据所使用的区域性,该方法可能将表示预先构成字符(如连字“Æ”(U+00C6))的 Unicode 标量值视为等同于任何顺序正确的该字符的组成字符,如上述连字可能被视为“AE”(U+0041、U+0045)。

下面的示例查找字符串“is”的任意字符在另一个字符串的子字符串中的最后一个匹配项的索引。


// 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


*/


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示: