TextElementEnumerator TextElementEnumerator TextElementEnumerator TextElementEnumerator Class

정의

문자열의 텍스트 요소를 열거합니다.Enumerates the text elements of a string.

public ref class TextElementEnumerator : System::Collections::IEnumerator
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class TextElementEnumerator : System.Collections.IEnumerator
type TextElementEnumerator = class
    interface IEnumerator
Public Class TextElementEnumerator
Implements IEnumerator
상속
TextElementEnumeratorTextElementEnumeratorTextElementEnumeratorTextElementEnumerator
특성
구현

예제

다음 예제에서는 TextElementEnumerator 문자열의 텍스트 요소를 열거 하는 클래스입니다.The following example uses the TextElementEnumerator class to enumerate the text elements of a string.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Creates and initializes a String containing the following:
   //   - a surrogate pair (high surrogate U+D800 and low surrogate U+DC00)
   //   - a combining character sequence (the Latin small letter S"a" followed by the combining grave accent)
   //   - a base character (the ligature S"")
   String^ myString = L"\xD800\xDC00"
   L"a\u0300\u00C6";
   
   // Creates and initializes a TextElementEnumerator for myString.
   TextElementEnumerator^ myTEE = StringInfo::GetTextElementEnumerator( myString );
   
   // Displays the values returned by ElementIndex, Current and GetTextElement.
   // Current and GetTextElement return a String* containing the entire text element. 
   Console::WriteLine( "Index\tCurrent\tGetTextElement" );
   myTEE->Reset();
   while ( myTEE->MoveNext() )
      Console::WriteLine( "[{0}]:\t {1}\t {2}", myTEE->ElementIndex, myTEE->Current, myTEE->GetTextElement() );
}

/*
This code produces the following output.  The question marks take the place of high and low surrogates.

Index   Current GetTextElement
[0]:    ??      ??
[2]:    a`      a`
[4]:    Æ       Æ

*/
using System;
using System.Globalization;


public class SamplesTextElementEnumerator  {

   public static void Main()  {

      // Creates and initializes a String containing the following:
      //   - a surrogate pair (high surrogate U+D800 and low surrogate U+DC00)
      //   - a combining character sequence (the Latin small letter "a" followed by the combining grave accent)
      //   - a base character (the ligature "")
      String myString = "\uD800\uDC00\u0061\u0300\u00C6";

      // Creates and initializes a TextElementEnumerator for myString.
      TextElementEnumerator myTEE = StringInfo.GetTextElementEnumerator( myString );

      // Displays the values returned by ElementIndex, Current and GetTextElement.
      // Current and GetTextElement return a string containing the entire text element. 
      Console.WriteLine( "Index\tCurrent\tGetTextElement" );
      myTEE.Reset();
      while (myTEE.MoveNext())  {
         Console.WriteLine( "[{0}]:\t{1}\t{2}", myTEE.ElementIndex, myTEE.Current, myTEE.GetTextElement() );
      }

   }

}

/*
This code produces the following output.  The question marks take the place of high and low surrogates.

Index   Current GetTextElement
[0]:    ??      ??
[2]:    a`      a`
[4]:    Æ       Æ

*/
Imports System.Globalization

Public Class SamplesTextElementEnumerator

   Public Shared Sub Main()

      ' Creates and initializes a String containing the following:
      '   - a surrogate pair (high surrogate U+D800 and low surrogate U+DC00)
      '   - a combining character sequence (the Latin small letter "a" followed by the combining grave accent)
      '   - a base character (the ligature "")
      Dim myString As String = ChrW(&HD800) & ChrW(&HDC00) & ChrW(&H0061) & ChrW(&H0300) & ChrW(&H00C6)

      ' Creates and initializes a TextElementEnumerator for myString.
      Dim myTEE As TextElementEnumerator = StringInfo.GetTextElementEnumerator( myString )

      ' Displays the values returned by ElementIndex, Current and GetTextElement.
      ' Current and GetTextElement return a string containing the entire text element. 
      Console.WriteLine("Index" + ControlChars.Tab + "Current" + ControlChars.Tab + "GetTextElement")
      myTEE.Reset()
      While myTEE.MoveNext()
         Console.WriteLine("[{0}]:" + ControlChars.Tab + "{1}" + ControlChars.Tab + "{2}", myTEE.ElementIndex, myTEE.Current, myTEE.GetTextElement())
      End While

   End Sub

End Class 'SamplesTextElementEnumerator

'This code produces the following output.  The question marks take the place of high and low surrogates.
'
'Index   Current GetTextElement
'[0]:    ??      ??
'[2]:    a`      a`
'[4]:    Æ       Æ

설명

.NET Framework의 문자 소 즉, 단일 문자로 표시 되는 텍스트 단위로 텍스트 요소를 정의 합니다.The .NET Framework defines a text element as a unit of text that is displayed as a single character, that is, a grapheme. 텍스트 요소를 다음 중 하나일 수 있습니다.A text element can be any of the following:

  • Single로 표현 되는 기본 문자, Char 값입니다.A base character, which is represented as a single Char value. 예를 들어, 라틴어 대문자 문자는 (u+0041) 및 LATIN 작은 문자 AE (U + 00E6)는 기본 문자입니다.For example, LATIN CAPITAL LETTER A (U+0041) and LATIN SMALL LETTER AE (U+00E6) are base characters.

  • 조합 문자는 기본 문자와 조합 문자를 하나 이상 구성 하는 시퀀스입니다.A combining character sequence, which consists of a base character and one or more combining characters. 예를 들어 예제에서는 결합 장 뒤에 (u+0041) LATIN CAPITAL LETTER (U + 0304)을 조합 하는 문자 시퀀스입니다.For example, example, LATIN CAPITAL LETTER A (U+0041) followed by COMBINING MACRON (U+0304) is a combining character sequence.

  • 서로게이트 쌍에는 합니다 유니코드 표준 두 코드 단위의 시퀀스를 구성 하는 단일 추상 문자에 대 한 코드 문자 표현으로 정의: high surrogate 및 하위 서로게이트입니다.Surrogate pairs, which the Unicode Standard defines as a coded character representation for a single abstract character that consists of a sequence of two code units: a high surrogate, and a low surrogate. 서로게이트 쌍은 u t F-16으로 인코딩된 문자로 유니코드 Basic Multilingual Plane 외부에 문자를 나타내는 데 사용 됩니다.Surrogate pairs are used to represent characters outside of the Unicode Basic Multilingual Plane as UTF-16 encoded characters. 예를 들어, 고딕 문자 SAUIL (U + 10343) 값인 0xDF43 하위 서로게이트 값이 0xD800 high surrogate와 인코딩 u t F-16에 표시 됩니다.For example, GOTHIC LETTER SAUIL (U+10343) is represented in UTF-16 encoding as a high surrogate whose value is 0xD800 and a low surrogate whose value is 0xDF43. 기본 문자 또는 조합 문자에 서로게이트 쌍을 나타낼 수 있습니다.A surrogate pair can represent a base character or a combining character.

합니다 TextElementEnumerator 클래스를 사용 하면 단일 아니라 문자열의 텍스트 요소를 사용 하 여 작업할 수 Char 개체입니다.The TextElementEnumerator class allows you to work with the text elements in a string rather than with single Char objects.

인스턴스화하는 TextElementEnumerator 문자열을 전달 하 여 특정 문자열을 나타내는 개체를 StringInfo.GetTextElementEnumerator 메서드.You instantiate a TextElementEnumerator object that represents a particular string by passing the string to the StringInfo.GetTextElementEnumerator method. 이 문자열의 첫째 텍스트 요소 앞에 배치 되는 열거자를 반환 합니다.This returns an enumerator that is positioned before the first text element in the string. 호출 된 Reset 메서드 또한 다시이 위치로 열거자를 가져옵니다.Calling the Reset method also brings the enumerator back to this position. 호출 해야이 잘못 된 상태를 나타내므로 MoveNext 의 값을 읽기 전에 문자열의 첫 번째 요소로 열거자를 이동 하는 Current 현재 텍스트 요소를 반환 하는 속성입니다.Because this represents an invalid state, you must call MoveNext to advance the enumerator to the first text element of the string before reading the value of the Current property to return the current text element.

작업할 때를 TextElementEnumerator 열거자를 배치 하는 일을 담당 하는 개체입니다.When working with a TextElementEnumerator object, you are responsible for positioning the enumerator. 합니다 Current 속성 중 하나를 호출할 때까지 동일한 텍스트 요소를 반환 MoveNext 또는 Reset합니다.The Current property returns the same text element until you call either MoveNext or Reset. 열거자 잘못 된 상태에서 이면 첫째 텍스트 요소 앞 이나 문자열의 마지막 텍스트 요소 뒤에 배치 됩니다.The enumerator is in an invalid state if it is positioned before the first text element or after the last text element in the string. 열거자가 잘못 된 상태에서의 값을 검색 하려고 합니다 Current 속성 예외를 throw 합니다.When the enumerator is in an invalid state, attempting to retrieve the value of the Current property throws an exception. 테스트 하 여 열거자가 잘못 된 상태에 있는지 여부를 확인할 수 있습니다 있는지 여부를의 반환 값을 MoveNext 속성은 false합니다.You can determine whether the enumerator is in an invalid state by testing whether the return value of the MoveNext property is false.

TextElementEnumerator 개체는 문자열 변수 또는 현재 리터럴 문자열의 현재 상태의 스냅숏을 나타냅니다는 TextElementEnumerator 개체가 인스턴스화되면 합니다.The TextElementEnumerator object represents a snapshot of the current state of a string variable or string literal at the moment that the TextElementEnumerator object is instantiated. 다음 사항에 유의합니다.Note that:

  • 텍스트 요소의 열거자 문자열에 데이터를 읽는에 사용할 수 있습니다.Text element enumerators can only be used to read data in a string. 기본 문자열을 수정할 수는 없습니다.They cannot modify the underlying string.

  • 열거자를 나타내는 문자열에 대 한 단독 액세스가 없습니다.An enumerator does not have exclusive access to the string that it represents. 열거자가 만들어진 후 문자열 변수를 수정할 수 있습니다.A string variable can be modified after the enumerator is created.

  • TextElementEnumerator 시 문자열에 있는 텍스트 요소를 열거 하는 개체는는 TextElementEnumerator 개체 인스턴스화 되었습니다.A TextElementEnumerator object enumerates the text elements present in the string at the time that the TextElementEnumerator object was instantiated. 해당 변수는 나중에 수정할 문자열 변수의 후속 변경 내용은 반영 하지 않습니다.It does not reflect any subsequent changes to the string variable if that variable is modified afterward.

  • 때문에 합니다 TextElementEnumerator 클래스를 재정의 하지 않습니다 Object.Equals두 가지 즉, TextElementEnumerator 동일한 문자열을 나타내는 개체는 같지 않은 간주 됩니다.Because the TextElementEnumerator class does not override Object.Equals, two TextElementEnumerator objects that represent the same string will be considered unequal.

속성

Current Current Current Current

문자열의 현재 텍스트 요소를 가져옵니다.Gets the current text element in the string.

ElementIndex ElementIndex ElementIndex ElementIndex

열거자가 현재 위치하고 있는 텍스트 요소의 인덱스를 가져옵니다.Gets the index of the text element that the enumerator is currently positioned over.

메서드

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetTextElement() GetTextElement() GetTextElement() GetTextElement()

문자열의 현재 텍스트 요소를 가져옵니다.Gets the current text element in the string.

GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
MoveNext() MoveNext() MoveNext() MoveNext()

열거자를 문자열의 다음 텍스트 요소로 이동합니다.Advances the enumerator to the next text element of the string.

Reset() Reset() Reset() Reset()

문자열의 첫째 텍스트 요소 앞의 초기 위치에 열거자를 지정합니다.Sets the enumerator to its initial position, which is before the first text element in the string.

ToString() ToString() ToString() ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)

적용 대상

추가 정보