StringEnumerator.MoveNext Метод

Определение

Перемещает перечислитель к следующему элементу коллекции.

public:
 bool MoveNext();
public bool MoveNext();
member this.MoveNext : unit -> bool
Public Function MoveNext () As Boolean

Возвращаемое значение

true Значение , если перечислитель успешно передвигался к следующему элементу; false Значение , если перечислитель прошел конец коллекции.

Исключения

Коллекция была изменена после создания перечислителя.

Примеры

В следующем примере кода демонстрируется несколько свойств и методов StringEnumerator.

using System;
using System.Collections.Specialized;

public class SamplesStringEnumerator  {

   public static void Main()  {

      // Creates and initializes a StringCollection.
      StringCollection myCol = new StringCollection();
      String[] myArr = new String[] { "red", "orange", "yellow", "green", "blue", "indigo", "violet" };
      myCol.AddRange( myArr );

      // Enumerates the elements in the StringCollection.
      StringEnumerator myEnumerator = myCol.GetEnumerator();
      while ( myEnumerator.MoveNext() )
         Console.WriteLine( "{0}", myEnumerator.Current );
      Console.WriteLine();

      // Resets the enumerator and displays the first element again.
      myEnumerator.Reset();
      if ( myEnumerator.MoveNext() )
         Console.WriteLine( "The first element is {0}.", myEnumerator.Current );
   }
}

/*
This code produces the following output.

red
orange
yellow
green
blue
indigo
violet

The first element is red.

*/
Imports System.Collections.Specialized

Public Class SamplesStringEnumerator

   Public Shared Sub Main()

      ' Creates and initializes a StringCollection.
      Dim myCol As New StringCollection()
      Dim myArr() As [String] = {"red", "orange", "yellow", "green", "blue", "indigo", "violet"}
      myCol.AddRange(myArr)

      ' Enumerates the elements in the StringCollection.
      Dim myEnumerator As StringEnumerator = myCol.GetEnumerator()
      While myEnumerator.MoveNext()
         Console.WriteLine("{0}", myEnumerator.Current)
      End While
      Console.WriteLine()

      ' Resets the enumerator and displays the first element again.
      myEnumerator.Reset()
      If myEnumerator.MoveNext() Then
         Console.WriteLine("The first element is {0}.", myEnumerator.Current)
      End If 

   End Sub

End Class


'This code produces the following output.
'
'red
'orange
'yellow
'green
'blue
'indigo
'violet
'
'The first element is red.

Комментарии

После создания перечислителя или после Reset вызова перечислитель размещается перед первым элементом коллекции и первым вызовом MoveNext перечислителя по первому элементу коллекции.

Если MoveNext передает конец коллекции, перечислитель размещается после последнего элемента в коллекции и MoveNext возвращается false. Когда перечислитель находится в этой позиции, последующие вызовы также возвращаются MoveNextfalse до Reset вызова.

Перечислитель остается допустимым, пока коллекция остается неизменной. Если изменения вносятся в коллекцию, например добавление, изменение или удаление элементов, перечислитель неустранимо недопустим, а следующий вызов MoveNext или вызов вызывает ResetисключениеInvalidOperationException. Если коллекция изменяется между MoveNext и CurrentCurrent возвращает элемент, которому он задан, даже если перечислитель уже недопустим.

Применяется к

См. также раздел