Open In App

C# | CharEnumerator.Clone() Method

Last Updated : 30 Apr, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

CharEnumerator.Clone Method is used to create a copy of the current CharEnumerator object. This is useful for saving the current state while iterating through a String object.

Syntax:

public object Clone ();

Return Value: This method returns an Object which is a copy of the current CharEnumerator object with the current state of the CharEnumerator object.

Below are the programs to illustrate the use of CharEnumerator.Clone() Method:

Example 1:




// C# program to illustrate the
// CharEnumerator.Clone Method
using System;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
        // Initialize a string object
        string str = "The Sun rises in the East,sets in the West.";
  
        // Instantiate a CharEnumerator object
        CharEnumerator chEnum = str.GetEnumerator();
  
        while (chEnum.MoveNext()) 
        {
            // Printing the characters
            Console.Write(chEnum.Current);
  
            // Break when a space is encountered
            if (chEnum.Current == ','
            {
                Console.WriteLine();
                break;
            }
        }
  
        // Instantiate a copy of CharEnumerator
        // object with the current state
        CharEnumerator chEnumCopy = (CharEnumerator)chEnum.Clone();
  
        // Printing the rest of the characters
        while (chEnumCopy.MoveNext())
            Console.Write(chEnumCopy.Current);
    }
}


Output:

The Sun rises in the East,
sets in the West.

Example 2:




// C# program to illustrate the
// CharEnumerator.Clone Method
using System;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
        // Initialize a string object
        string str = "1234567";
  
        // Instantiate a CharEnumerator object
        CharEnumerator chEnum = str.GetEnumerator();
  
        while (chEnum.MoveNext())
        {
            // Print current character
            Console.Write(chEnum.Current + " ");
  
            // Instantiate a copy of CharEnumerator 
            // object with current state
            CharEnumerator chEnumCopy = (CharEnumerator)chEnum.Clone();
  
            // Printing all characters 
            // after the current position
            while (chEnumCopy.MoveNext())
                Console.Write(chEnumCopy.Current + " ");
  
            Console.WriteLine();
        }
    }
}


Output:

1 2 3 4 5 6 7 
2 3 4 5 6 7 
3 4 5 6 7 
4 5 6 7 
5 6 7 
6 7 
7

Reference:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads