次の方法で共有


StringInfo.GetTextElementEnumerator メソッド (String)

文字列全体のテキスト要素を反復処理できる列挙子を返します。

Overloads Public Shared Function GetTextElementEnumerator( _
   ByVal str As String _) As TextElementEnumerator
[C#]
public static TextElementEnumerator GetTextElementEnumerator(stringstr);
[C++]
public: static TextElementEnumerator* GetTextElementEnumerator(String* str);
[JScript]
public static function GetTextElementEnumerator(
   str : String) : TextElementEnumerator;

パラメータ

  • str
    反復処理対象の文字列。

戻り値

文字列全体の TextElementEnumerator

例外

例外の種類 条件
ArgumentNullException str が null 参照 (Visual Basic では Nothing) です。

解説

.NET Framework は、単一の文字として表示されるテキストの単位、つまり書記素としてテキスト要素を定義します。テキスト要素は、基本文字、サロゲート ペア、または組み合わせた文字シーケンスの場合があります。Unicode Standard は、サロゲート ペアを 2 つのコード単位から成る単一の抽象文字を表すコード化文字表現として定義します。ペアの最初の単位が上位サロゲート、2 番目の単位が下位サロゲートとなります。Unicode Standard は、組み合わせ文字シーケンスを 1 つの基本文字と 1 つ以上の組み合わせ文字の組み合わせとして定義します。サロゲート ペアは、基本文字または組み合わせた文字を表すことができます。サロゲート ペアおよび組み合わせ文字シーケンスの詳細については、http://www.unicode.org の「The Unicode Standard」を参照してください。

テキスト要素の列挙子は、文字列内のデータを読み取ることだけを目的として使用されます。列挙子は、基になる文字列を変更するためには使用できません。

列挙子には、文字列への排他アクセス権はありません。

列挙子は、作成されるときに文字列の現在の状態のスナップショットを取得します。テキスト要素の追加、変更、削除などの変更が文字列に対して実行されると、スナップショットが同期されなくなり、列挙子は InvalidOperationException をスローします。同じ文字列から同時に作成された 2 つの列挙子が、その文字列の異なるスナップショットを持つことも可能です。

文字列の最初のテキスト要素の前、または文字列の最後のテキスト要素の後に位置している列挙子は無効な状態です。列挙子が無効な状態の場合に Current を呼び出すと、必ず例外がスローされます。

初期状態では、列挙子は文字列の最初のテキスト要素の前に位置しています。 Reset を実行した場合も、列挙子はこの位置に戻されます。したがって、列挙子を作成した後や Reset を実行した後に、文字列の最初のテキスト要素に列挙子を進めるためには、 Current の値を読み取る前に MoveNext を呼び出す必要があります。

Current は、 MoveNext または Reset が呼び出されるまでは同じオブジェクトを返します。

文字列の末尾を過ぎると列挙子が再び無効な状態になるため、 MoveNext を呼び出すと false が返されます。 MoveNext への最後の呼び出しで false が返された場合に Current を呼び出すと、例外がスローされます。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

StringInfo クラス | StringInfo メンバ | System.Globalization 名前空間 | StringInfo.GetTextElementEnumerator オーバーロードの一覧 | TextElementEnumerator