Loop, string chars. A loop iterates over individual string characters. It allows processing for each char. In C# different types of loops (even reversed loops) can be used.
Loop types. The foreach-loop and the for-loop are available for this purpose. Inside the body of a for-loop, we can access chars with the string indexer.
First example. We look at 2 loops where we iterate over each char in a string. The string you loop over can be a string literal, a variable, or a constant.
Version 1 We use the foreach-loop to iterate over the chars. We print each character to the console.
using System;
const string value = "abc";
// Version 1: use foreach-loop.foreach (char c in value)
{
Console.WriteLine(c);
}
// Version 2: use for-loop.for (int i = 0; i < value.Length; i++)
{
Console.WriteLine(value[i]);
}a
b
c
a
b
c
Reversed for-loop. The for-loop is in most ways more powerful than the foreach-loop. We can use any index we want to access the string—here we decrement from the last to the first.
using System;
string id = "xy1";
// Loop over string in reverse.for (int i = id.Length - 1; i >= 0; i--)
{
Console.WriteLine("REVERSE: {0}", id[i]);
}REVERSE: 1
REVERSE: y
REVERSE: x
Performance notes. It is sometimes easier for the JIT compiler to optimize the loops if you do not hoist the Length check outside of the for-loop.
Tip It is not often helpful to store the length in a local variable. With any change, testing is essential.
StringBuilder. For long inputs where we build up an output, a StringBuilder is important. It means we do not have to worry about thousands of appends happening in edge cases.
Regex. Sometimes using a loop is far more efficient than a Regex. Another advantage of loops is the ability to test each character and alert the user to special characters.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on May 24, 2023 (edit).