Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe TextElementEnumerator

 

Data di pubblicazione: ottobre 2016

Enumera gli elementi di testo di una stringa.

Spazio dei nomi:   System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.Globalization.TextElementEnumerator

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class TextElementEnumerator : IEnumerator

NomeDescrizione
System_CAPS_pubpropertyCurrent

Ottiene l'elemento di testo corrente nella stringa.

System_CAPS_pubpropertyElementIndex

Ottiene l'indice dell'elemento di testo sul quale l'enumeratore è attualmente posizionato.

NomeDescrizione
System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_protmethodFinalize()

Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetTextElement()

Ottiene l'elemento di testo corrente nella stringa.

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_pubmethodMoveNext()

Sposta l'enumeratore sull'elemento di testo successivo della stringa.

System_CAPS_pubmethodReset()

Imposta l'enumeratore sulla relativa posizione iniziale, ovvero prima del primo elemento di testo nella stringa.

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

.NET Framework definisce un elemento di testo come un'unità di testo che viene visualizzato come un singolo carattere, vale a dire un grafemi. Un elemento di testo può essere uno dei seguenti:

  • Un carattere di base, che è rappresentato come una singola Char valore. Ad esempio, maiuscola ALFABETO (U + 0041) e LATINO AE lettera minuscola (U + 00E6) sono caratteri di base.

  • Una combinazione di sequenza, costituito da un carattere di base e uno o più caratteri di combinazione di caratteri. Ad esempio, esempio LATINO (U + 0041) seguito da combinazione LATINO (U + 0304) è una combinazione sequenza di caratteri.

  • Coppie di surrogati che il Unicode Standard definisce come una rappresentazione di caratteri codificati per un singolo carattere astratto costituito da una sequenza di due unità di codice: un surrogato alto e un surrogato basso. Le coppie di surrogati vengono utilizzate per rappresentare i caratteri di fuori del piano multilingue base Unicode come caratteri con codificata UTF-8. Ad esempio, GOTHIC lettera SAUIL (U + 10343) è rappresentato come un surrogato alto, il cui valore è 0xD800 e un surrogato basso, il cui valore è 0xDF43 la codifica UTF-8. Una coppia di surrogati può rappresentare un carattere di base o un carattere di combinazione.

La TextElementEnumerator classe consente di lavorare con gli elementi di testo in una stringa anziché con singolo Char oggetti.

Crea un'istanza di un TextElementEnumerator oggetto che rappresenta una determinata stringa passando la stringa per il StringInfo.GetTextElementEnumerator metodo. Restituisce un enumeratore viene posizionato prima del primo elemento di testo nella stringa. La chiamata di Reset metodo riporta l'enumeratore in questa posizione. Poiché ciò rappresenta uno stato non valido, è necessario chiamare MoveNext per passare l'enumeratore al primo elemento di testo della stringa prima di leggere il valore di Current per restituire l'elemento di testo corrente.

Quando si lavora con un TextElementEnumerator dell'oggetto, è responsabile per il posizionamento dell'enumeratore. Il Current proprietà restituisce lo stesso elemento di testo fino a quando non si chiama MoveNext o Reset. Se è posizionato prima del primo elemento di testo o dopo l'ultimo elemento nella stringa di testo, l'enumeratore è in uno stato non valido. Quando l'enumeratore è in uno stato non valido, il tentativo di recuperare il valore di Current proprietà genera un'eccezione. È possibile determinare se l'enumeratore è in uno stato non valido verificando se il valore restituito del MoveNext è false.

Il TextElementEnumerator oggetto rappresenta uno snapshot dello stato corrente di una variabile di tipo stringa o una stringa letterale al momento che il TextElementEnumerator viene creata un'istanza di oggetto. Notare che:

  • Gli enumeratori di elemento di testo utilizzabile solo per leggere i dati in una stringa. Non possono modificare la stringa sottostante.

  • Un enumeratore non dispone di accesso esclusivo a una stringa che rappresenta. Una stringa può essere modificata dopo la creazione dell'enumeratore.

  • Oggetto TextElementEnumerator oggetto enumera gli elementi di testo presenti nella stringa al momento che il TextElementEnumerator è stata creata un'istanza di oggetto. Se la variabile viene modificata in seguito non riflette le modifiche successive alla variabile di stringa.

  • Poiché la TextElementEnumerator classe non esegue l'override Object.Equals, due TextElementEnumerator gli oggetti che rappresentano la stessa stringa verranno considerati non uguali.

Nell'esempio seguente viene utilizzata la TextElementEnumerator classe per enumerare gli elementi di testo di una stringa.

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]:    Æ       Æ

*/

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: