📜  C#| Array.GetEnumerator方法

📅  最后修改于: 2021-05-29 22:51:27             🧑  作者: Mango

此方法用于返回数组的IEnumerator。

句法:

public System.Collections.IEnumerator GetEnumerator ();

返回值:该方法返回数组的IEnumerator。

下面的程序说明了Array.GetEnumerator方法的用法:

范例1:

// C# program to demonstrate
// GetEnumerator() method
using System;
using System.Collections;
using System.Collections.Generic;
  
public class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // Creating and initializing new the String
        String[] myArr = {"Sun", "Mon", "Tue", "Thu"};
  
        // Display the values of the myArr.
        Console.Write("Initial Array: ");
  
        // calling the PrintIndexAndValues()
        // method to print
        PrintIndexAndValues(myArr);
  
        // getting the IEnumerator for the myArr
        IEnumerator myEnumerator = myArr.GetEnumerator();
  
        // calling the PrintIndexAndValues()
        // method to print
        Console.WriteLine("Enumerated value: ");
        PrintIndexAndValues(myEnumerator);
    }
  
    // Defining the method
    // PrintIndexAndValues
    public static void PrintIndexAndValues(String[] myArr)
    {
        for (int i = 0; i < myArr.Length; i++) {
  
            Console.Write("{0} ", myArr[i]);
        }
        Console.WriteLine();
        Console.WriteLine();
    }
  
    // Overriding the method
    // PrintIndexAndValues
    public static void PrintIndexAndValues(IEnumerator myEnumerator)
    {
        int i = 0;
        while ((myEnumerator.MoveNext()) && 
          (myEnumerator.Current != null)) {
  
            Console.WriteLine("[{0}] {1}", i++,
                         myEnumerator.Current);
        }
    }
}
输出:
Initial Array: Sun Mon Tue Thu 

Enumerated value: 
[0] Sun
[1] Mon
[2] Tue
[3] Thu

范例2:

// C# program to demonstrate
// GetEnumerator() method
// For int value
using System;
using System.Collections;
using System.Collections.Generic;
  
public class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // Creating and initializing new the int
        int[] myArr = {10, 20, 30, 40};
  
        // Display the values of the myArr.
        Console.Write("Initial Array: ");
  
        // calling the PrintIndexAndValues()
        // method to print
        PrintIndexAndValues(myArr);
  
        // getting the IEnumerator for the myArr
        IEnumerator myEnumerator = myArr.GetEnumerator();
  
        // calling the PrintIndexAndValues()
        // method to print
        Console.WriteLine("Enumerated value: ");
        PrintIndexAndValues(myEnumerator);
    }
  
    // Defining the method
    // PrintIndexAndValues
    public static void PrintIndexAndValues(int[] myArr)
    {
        for (int i = 0; i < myArr.Length; i++) {
  
            Console.Write("{0} ", myArr[i]);
        }
        Console.WriteLine();
        Console.WriteLine();
    }
  
    // Overriding the method
    // PrintIndexAndValues
    public static void PrintIndexAndValues(IEnumerator myEnumerator)
    {
        int i = 1;
        while ((myEnumerator.MoveNext()) && 
          (myEnumerator.Current != null)) {
  
            Console.WriteLine("{0}> {1} ", i++, 
                          myEnumerator.Current);
        }
    }
}
输出:
Initial Array: 10 20 30 40 

Enumerated value: 
1> 10 
2> 20 
3> 30 
4> 40

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.array.getenumerator?view=netframework-4.7.2