この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

String.LastIndexOf メソッド (Char, Int32, Int32)

 

このインスタンス内の部分文字列で最後に出現する指定 Unicode 文字の 0 から始まるインデックス位置をレポートします。 検索は指定された文字位置から開始し、文字列の開始に向かって後方に移動し、文字位置の指定された数だけ行われます。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

public int LastIndexOf(
	char value,
	int startIndex,
	int count
)

パラメーター

value
Type: System.Char

シークする Unicode 文字。

startIndex
Type: System.Int32

検索の開始位置。 検索は、このインスタンスの先頭に向かって startIndex から開始されます。

count
Type: System.Int32

検査する文字位置の数。

戻り値

Type: System.Int32

その文字が見つかった場合は、value の 0 から始まるインデックス位置。見つからなかった場合、または現在のインスタンスが String.Empty と等しい場合は -1。

Exception Condition
ArgumentOutOfRangeException

現在のインスタンスが String.Empty と等しくなく、startIndex が 0 未満であるか、このインスタンスの長さ以上です。

または

現在のインスタンスが String.Empty と等しくなく、startIndex - count + 1 が 0 未満です。

インデックス番号は、0 から始まります。 つまり、文字列の最初の文字インデックス 0 の位置は、最後にLength- 1。

このメソッドで検索を開始、startIndex文字の位置やが実行されるまで、このインスタンスの先頭に向かって逆方向valueが見つかるまたはcount文字位置します。 たとえば場合、startIndexLength- 1、メソッドは逆方向に検索count文字、文字列の最後の文字をします。 検索では大文字小文字を区別します。

このメソッドは、ここで、文字と見なされます別の文字に相当その Unicode スカラー値が同じ場合にのみ、序数に基づく (カルチャに依存しない) 検索を実行します。 カルチャに依存した検索を実行するには、CompareInfo.LastIndexOfメソッド、ここで構成済みなどの文字「Æ」合字 (U + 00 C 6) を表す Unicode スカラー値と見なすことが"AE"などの正しいシーケンス内の文字のコンポーネントの検索 (u+0041、u+0045) カルチャに応じて、します。

次の例では、部分文字列の末尾から部分文字列の先頭に作業をして、部分文字列内で出現する文字をすべてのインデックスが検索されます。

// Sample for String.LastIndexOf(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;
    int end;

    start = str.Length-1;
    end = start/2 - 1;
    Console.WriteLine("All occurrences of 't' from position {0} to {1}.", start, end);
    Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str);
    Console.Write("The letter 't' occurs at position(s): ");

    count = 0;
    at = 0;
    while((start > -1) && (at > -1))
        {
        count = start - end; //Count must be within the substring.
        at = str.LastIndexOf('t', start, count);
        if (at > -1) 
            {
            Console.Write("{0} ", at);
            start = at - 1;
            }
        }
    Console.Write("{0}{0}{0}", Environment.NewLine);
    }
}
/*
This example produces the following results:
All occurrences of 't' from position 66 to 32.
0----+----1----+----2----+----3----+----4----+----5----+----6----+-
0123456789012345678901234567890123456789012345678901234567890123456
Now is the time for all good men to come to the aid of their party.

The letter 't' occurs at position(s): 64 55 44 41 33


*/

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
1.1 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能
トップに戻る
表示: