C# ToCharArray

Char type

ToCharArray converts strings to character arrays. It is called on a string and returns a new char array. You can manipulate this array in-place, which you can't do with a string. This makes many performance optimizations possible.

Char ArrayStrings

Example

Note

First we use ToCharArray to receive a character array from the contents of a string. The example uses an input string, and then assigns a char array to the result of the parameterless instance method ToCharArray().

Next:It uses a for-loop to get each character in the array, finally writing it to the Console.

ForConsole
Program that uses ToCharArray: C#

using System;

class Program
{
    static void Main()
    {
	// Input string.
	string value = "Dot Net Perls";

	// Use ToCharArray to convert string to array.
	char[] array = value.ToCharArray();

	// Loop through array.
	for (int i = 0; i < array.Length; i++)
	{
	    // Get character from array.
	    char letter = array[i];
	    // Display each letter.
	    Console.Write("Letter: ");
	    Console.WriteLine(letter);
	}
    }
}

Output

Letter: D
Letter: o
Letter: t
Letter:
Letter: N
Letter: e
Letter: t
Letter:
Letter: P
Letter: e
Letter: r
Letter: l
Letter: s

Uses

This section provides information

With ToCharArray, the char array you receive is mutable. This means you can change each individual character. For this reason, the method is ideal when you need to transform characters, as in ROT13, or uppercasing the first letter.

Uppercase First LetterReverse StringROT13 MethodChar Lookup TableWhitespace TipsRandomize Chars in String

Also:Often you will need to change your char array back to a string. You can use the new string constructor for this.

String ConstructorConvert Char Array to String

Internals

Framework: NET

ToCharArray uses unsafe code that manipulates pointers, along with the private wstrcpyPtrAligned method in the base class library. It is normally faster than doing the same thing in managed code, which has to check array bounds.

However:It makes a complete pass over the string, so if you do not require that, filling character arrays manually may be faster.

Summary

The C# programming language

We looked at an example of using the parameterless ToCharArray method on the string type in the C# language. This method returns a character array, which you can modify in-place. This sometimes improves the performance of code.

Finally:We looked at practical uses of ToCharArray and its internals in the base class library.


C#: Cast