Bagikan melalui


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 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 unit teks yang ditampilkan sebagai karakter tunggal, yaitu grafik. Elemen teks dapat berupa salah satu hal berikut:

  • 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.

  • Menggabungkan urutan karakter, 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 gabungan urutan karakter.

  • 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 Bidang Multibahasa Dasar Unicode 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 menggabungkan karakter.

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

Anda membuat instans TextElementEnumerator 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 untuk 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 ada dalam string pada saat TextElementEnumerator objek dibuat. Ini tidak mencerminkan perubahan berikutnya pada variabel string jika variabel tersebut dimodifikasi setelahnya.

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

Properti

Nama Deskripsi
Current

Mendapatkan elemen teks saat ini dalam string.

ElementIndex

Mendapatkan indeks elemen teks yang saat ini diposisikan enumerator.

Metode

Nama Deskripsi
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 Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(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