C# | CharEnumerator.Clone() Method (original) (raw)

Last Updated : 30 Apr, 2019

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:

csharp `

// 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:

csharp `

// 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:

Similar Reads