TextElementEnumerator Kelas

Definisi

Menghitung elemen teks string.

public ref class TextElementEnumerator : System::Collections::IEnumerator
public class TextElementEnumerator : System.Collections.IEnumerator
[System.Serializable]
public class TextElementEnumerator : System.Collections.IEnumerator
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class TextElementEnumerator : System.Collections.IEnumerator
type TextElementEnumerator = class
    interface IEnumerator
[<System.Serializable>]
type TextElementEnumerator = class
    interface IEnumerator
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type TextElementEnumerator = class
    interface IEnumerator
Public Class TextElementEnumerator
Implements IEnumerator
Warisan
TextElementEnumerator
Atribut
Penerapan

Contoh

Contoh berikut menggunakan TextElementEnumerator kelas untuk menghitung elemen teks 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]:    à       à
[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]:    à       à
[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

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

Keterangan

.NET Framework mendefinisikan elemen teks sebagai satuan teks yang ditampilkan sebagai karakter tunggal, yaitu grafik. Elemen teks dapat berupa salah satu hal berikut ini:

  • Karakter dasar, yang direpresentasikan sebagai nilai tunggal Char . Misalnya, LATIN CAPITAL LETTER A (U+0041) dan LATIN SMALL LETTER AE (U+00E6) adalah karakter dasar.

  • Urutan karakter gabungan, yang terdiri dari karakter dasar dan satu atau beberapa karakter yang menggabungkan. Misalnya, LATIN CAPITAL LETTER A (U+0041) diikuti dengan COMBINING MACRON (U+0304) adalah urutan karakter yang menggabungkan.

  • Pasangan pengganti, yang didefinisikan Unicode Standard sebagai representasi karakter berkode untuk satu karakter abstrak yang terdiri dari urutan dua unit kode: pengganti tinggi, dan pengganti rendah. Pasangan pengganti digunakan untuk mewakili karakter di luar Unicode Basic Multilingual Plane sebagai karakter yang dikodekan UTF-16. Misalnya, GOTHIC LETTER SAUIL (U+10343) diwakili dalam pengodean UTF-16 sebagai pengganti tinggi yang nilainya 0xD800 dan pengganti rendah yang nilainya 0xDF43. Pasangan pengganti dapat mewakili karakter dasar atau karakter gabungan.

Kelas ini TextElementEnumerator memungkinkan Anda untuk bekerja dengan elemen teks dalam string daripada dengan objek tunggal Char .

Anda membuat TextElementEnumerator instans objek yang mewakili string tertentu dengan meneruskan string ke StringInfo.GetTextElementEnumerator metode . Ini mengembalikan enumerator yang diposisikan sebelum elemen teks pertama dalam string. Memanggil Reset metode juga membawa enumerator kembali ke posisi ini. Karena ini mewakili status yang tidak valid, Anda harus memanggil MoveNext untuk memajukan enumerator ke elemen teks pertama string sebelum membaca nilai Current properti untuk mengembalikan elemen teks saat ini.

Saat bekerja dengan TextElementEnumerator objek, Anda bertanggung jawab untuk memposisikan enumerator. Properti Current mengembalikan elemen teks yang sama hingga Anda memanggil atau MoveNextReset. Enumerator dalam status tidak valid jika diposisikan sebelum elemen teks pertama atau setelah elemen teks terakhir dalam string. Ketika enumerator dalam status tidak valid, mencoba mengambil nilai Current properti melemparkan pengecualian. Anda dapat menentukan apakah enumerator dalam status tidak valid dengan menguji apakah nilai MoveNext pengembalian properti adalah false.

Objek TextElementEnumerator mewakili rekam jepret dari status variabel string atau literal TextElementEnumerator string saat objek dibuat. Perhatikan bahwa:

  • Enumerator elemen teks hanya dapat digunakan untuk membaca data dalam string. Mereka tidak dapat mengubah string yang mendasar.

  • Enumerator tidak memiliki akses eksklusif ke string yang diwakilinya. Variabel string dapat dimodifikasi setelah enumerator dibuat.

  • Objek TextElementEnumerator menghitung elemen teks yang TextElementEnumerator ada dalam string pada saat objek dibuat. Ini tidak mencerminkan perubahan berikutnya pada variabel string jika variabel tersebut dimodifikasi setelahnya.

  • TextElementEnumerator Karena kelas tidak mengambil Object.Equalsalih , dua TextElementEnumerator objek yang mewakili string yang sama akan dianggap tidak sama.

Properti

Current

Mendapatkan elemen teks saat ini dalam string.

ElementIndex

Mendapatkan indeks elemen teks yang saat ini diposisikan enumerator.

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetTextElement()

Mendapatkan elemen teks saat ini dalam string.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
MoveNext()

Memajukan enumerator ke elemen teks berikutnya dari string.

Reset()

Mengatur enumerator ke posisi awalnya, yaitu sebelum elemen teks pertama dalam string.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga