Partilhar via


Objeto enumerador

Permite a enumeração de itens de uma coleção.

varName = new Enumerator([collection])

Argumentos

  • varName
    Obrigatório.O nome da variável à qual o enumerador está atribuído.

  • collection
    Opcional.Qualquer objeto que implementa o IEnumerable interface, sistema autônomo uma matriz ou coleção.

Comentários

Cada coleção é automaticamente enumerável no JScript.Conseqüentemente, você não precisa usar o Enumerator objeto acesso membros de uma coleção. Você pode acesso qualquer membro diretamente usando o for...in demonstrativo. The Enumerator objeto é fornecido para versões anteriores compatibilidade.

Coleções diferem dos conjuntos de membros de uma coleção não estão diretamente acessíveis.Em vez de usar índices, sistema autônomo faria com arrays, você só pode mover o ponteiro corrente do item para o primeiro ou próximo elemento de uma coleção.

The Enumerator objeto, que fornece uma maneira de acessar qualquer membro de uma coleção, se comporta de maneira semelhante a For... cada demonstrativo no VBScript.

Você pode criar uma coleção no JScript, definir uma classe que implementa IEnumerable. Coleções também podem ser criadas usando outro linguagem (por exemplo, Visual Basic) ou por um ActiveXObject objeto.

Exemplo 1

O código a seguir usa o Enumerator objeto para imprimir as letras das unidades disponíveis e seus nomes (se disponível):

// Declare variables.
var n, x;
var fso : ActiveXObject = new ActiveXObject("Scripting.FileSystemObject");
// Create Enumerator on Drives.
var e : Enumerator = new Enumerator(fso.Drives);
for (;!e.atEnd();e.moveNext()) {      // Loop over the drives collection.
   x = e.item();
   if (x.DriveType == 3)              // See if network drive.
      n = x.ShareName;                // Get share name
   else if (x.IsReady)                // See if drive is ready.
      n = x.VolumeName;               // Get volume name.
   else
      n = "[Drive not ready]";
   print(x.DriveLetter + " - " + n);
}

Dependendo do sistema, a saída será assim:

A - [Drive not ready]
C - DRV1
D - BACKUP
E - [Drive not ready]

Exemplo 2

O código de exemplo 1 pode ser reescrito para trabalhar sem usar o objeto enumerador.Aqui, membros de uma enumeração são acessados diretamente.

// Declare variables.
var n, x;
var fso : ActiveXObject = new ActiveXObject("Scripting.FileSystemObject");
// The following three lines are not needed.
//    var e : Enumerator = new Enumerator(fso.Drives);
//    for (;!e.atEnd();e.moveNext()) {
//       x = e.item();
// Access the members of the enumeration directly.
for (x in fso.Drives) {               // Loop over the drives collection.
   if (x.DriveType == 3)              // See if network drive.
      n = x.ShareName;                // Get share name
   else if (x.IsReady)                // See if drive is ready.
      n = x.VolumeName;               // Get volume name.
   else
      n = "[Drive not ready]";
   print(x.DriveLetter + " - " + n);
}

Propriedades

The Enumerator objeto não possui propriedades.

Métodos

Métodos do objeto enumerador

Requisitos

Versão 3

Consulte também

Referência

Operador novo

for... na demonstrativo