エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

String.LastIndexOfAny メソッド (Char[], Int32)

2013/12/12

Unicode 配列内の指定した 1 つ以上の文字がこのインスタンスで最後に見つかった 0 から始まるインデックス位置をレポートします。検索は指定した文字位置から始まり、文字列の先頭へ向かって逆方向に実行されます。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

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

パラメーター

anyOf
型: System.Char []
シークする 1 つ以上の文字を格納している、Unicode 文字の配列。
startIndex
型: System.Int32
検索が開始される位置。検索は startIndex からこのインスタンスの先頭へ向かって実行されます。

戻り値

型: System.Int32
このインスタンスで最後に出現するゼロ ベースのインデックス位置 (anyOf の文字のいずれかが見つかった場合)、または -1 (anyOf のどの文字も見つからなかった場合、または現在のインスタンスが String.Empty である場合)。

例外条件
ArgumentNullException

anyOfnull です。

ArgumentOutOfRangeException

現在のインスタンスが String.Empty と等しくなく、startIndex がこのインスタンス内ではない位置を指定しています。

インデックスの番号付けは 0 から始まります。

このメソッドは、インスタンスの startIndex の文字位置から検索を開始し、anyOf の文字が見つかるか、または最初の文字位置に到達するまで、インスタンスの先頭へ向かって逆方向に検索を実行します。検索では、大文字と小文字が区別されます。

このメソッドは、序数 (カルチャに依存しない) 検索を実行します。この検索方法では、2 つの文字は 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

表示:
© 2014 Microsoft