In this blog, we will learn how to reverse a string in C#. We will try two ways - without an inbuilt function, and using an inbuilt function. Here, we will create a simple code example for both ways and will see how to achieve this in easy steps.
Let's start with using the inbuilt function.
In the below example, I have tried to reverse a string using the inbuilt function, Array.Reverse method which will reverse and print a string in the console. Here is the code.
- static void Main(string[] args)
- {
- ReverseStringWithInbuiltMethod("CSharpCorner");
- }
-
- private static void ReverseStringWithInbuiltMethod(string stringInput)
- {
-
- char[] charArray = stringInput.ToCharArray();
- Array.Reverse(charArray);
- Console.WriteLine(new string(charArray));
- }
One more way to reverse a string is using LINQ. First, an input string is converted into a character array using ToCharArray() and then, the Reverse() method is applied to reverse the characters.
- private static void ReverseStringWithInbuiltMethod(string stringInput)
- {
-
-
- var resultstring = new string(stringInput.ToCharArray().Reverse().ToArray());
- Console.WriteLine(resultstring);
-
- Console.ReadLine();
-
- }
How to reverse a string without Inbuilt function in C#
Here, we will reverse a string without using the inbuilt function. There are two ways to perform this - using a While loop and using a For loop. Here are the examples of both.
- static void Main(string[] args)
- {
- ReverseStringWithoutInbuiltMethod("CSHARPCORNER");
- }
Using While Loop
- private static void ReverseStringWithoutInbuiltMethod(string stringInput)
- {
-
- string reversestring = "";
- int length;
-
- length = stringInput.Length - 1;
-
- while (length >= 0)
- {
- reversestring = reversestring + stringInput[length];
- length--;
- }
- Console.WriteLine(reversestring);
-
- Console.ReadLine();
-
- }
In the above example,
- First, the length of the input string is counted.
- Based on the length, the While loop runs.
- It starts assigning characters one by one from the last index of the character to a reversestring variable.
- Decrement the length by one every time the loop runs.
Using For Loop
- private static void ReverseStringWithoutInbuiltMethod(string stringInput)
- {
-
-
-
- char[] stringArray = stringInput.ToCharArray();
-
- string reverse = String.Empty;
-
- for (int i = stringArray.Length - 1; i >= 0; i--)
- {
- reverse += stringArray[i];
- }
-
- Console.WriteLine(reverse);
-
- Console.ReadLine();
- }
In the above example,
- First, the input string is converted into character array.
- Based on the char array length, it assigns the characters one by one from the last index of character to reverse variable.
- It decrements the i variable every time loop runs.
Output