In this article, you will learn about the CharEnumerator.Reset method in C# with their purpose, syntax, examples, and applications.
What is the CharEnumerator.Reset function?
The CharEnumerator.Reset function is a member of the CharEnumerator class, which is a part of the System namespace. This method returns the CharEnumerator object to its original state, enabling you to continue iterating over a string or a chunk of a string from the start.
CharEnumerator's purpose:
Before getting into the specifics of Reset , it's important to understand the job of CharEnumerator. This class allows you to iterate over elements in a string in a more controlled and efficient manner than using a standard for foreach method.
The CharEnumerator class defines the IEnumerator interface and is mostly used to iterate through characters in a string. It may be accessed by calling the string's GetEnumerator function. Once you have a CharEnumerator object, you can use it to browse over the characters in the connected string.
Syntax:
It has the following syntax:
public void Reset ();
Example:
Filename: CharEnum.cs
//Program to implement the CharEnumerator.Reset()
// Method in C#
using System;
class Enumerator{
// Driver code
public static void Main()
{
// The string object initialization
string str = "The Earth revolves around the sun.";
// the object of the class CharEnumerator
CharEnumerator chEn = str.GetEnumerator();
// the result string
while (chEn.MoveNext())
Console.Write(chEn.Current);
// the object reset
chEn.Reset();
Console.WriteLine();
// the string display at 2nd time
while (chEn.MoveNext())
Console.Write(chEn.Current);
}
}
Output:
The Earth revolves around the sun.
The Earth revolves around the sun.
Example 2:
FileName: CharEnum.cs
//Program to implement the CharEnumerator.Reset()
// Method in C#
using System;
class Enumerator{
// Driver code
public static void Main()
{
// The string object initialization
string str = "0 2 4 6 8 9 10 12 14 16 18 20";
// the object of the class CharEnumerator
CharEnumerator chEn = str.GetEnumerator();
// the result string
while (chEn.MoveNext())
Console.Write(chEn.Current);
// the object reset
chEn.Reset();
Console.WriteLine();
// the string display at 2nd time
while (chEn.MoveNext())
Console.Write(chEn.Current);
}
}
Output:
0 2 4 6 8 9 10 12 14 16 18 20
0 2 4 6 8 9 10 12 14 16 18 20
Advantages of using CharEnumerator.Reset Method in C#
There are several advantages of the CharEnumerator.Reset Method in C#. Some main advantages of the CharEnumerator.Reset Method are as follows:
- Reusability: With the Reset function, you may iterate over the characters in a string numerous times using the same CharEnumerator object. When you reach the end of the string, you may reset the enumerator to the beginning to save resources and prevent having to generate a new enumerator.
- Convenient for Custom Iteration Logic: If you have particular logic for iterating over the characters in the string and are required to restart it at a certain point. In that case, you can use the Reset method instead of establishing a new enumerator, which makes your code clearer and easier to read.
- Performance: Reusing the same CharEnumerator instances using Reset may be more efficient than determining a new enumerator for each loop.
- Efficient String Parsing: If you're manually parsing a string and require a restart from a specific place, the Reset function is very useful. It is frequently observed in cases involving customized DSL (Domain-Specific Language) processing or basic expression evaluation.