String::ToCharArray Method ()


Copies the characters in this instance to a Unicode character array.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

array<wchar_t>^ ToCharArray()

Return Value

Type: array<System::Char>^

A Unicode character array whose elements are the individual characters of this instance. If this instance is an empty string, the returned array is empty and has a zero length.

This method copies each character (that is, each Char object) in a string to a character array. The first character copied is at index zero of the returned character array; the last character copied is at index Array::Length – 1.

To create a string from the characters in a character array, call the String(array<Char>^) constructor.

To create a byte array that contains the encoded characters in a string, instantiate the appropriate Encoding object and call its Encoding::GetBytes(String^) method. Some of the standard encodings available in the .NET Framework include the following:













For more information, see Character Encoding in the .NET Framework.

The following example calls the ToCharArray method to extract the characters in a string to a character array. It then displays the original string and the elements in the array.

No code example is currently available or this language may not be supported.

The following example defines a string containing the characters that serve as delimiters in a delimited string. It then calls the ToCharArray method to create a character array that can be passed to the Split(array<Char>^) method to separate the delimited string into its individual substrings.

using namespace System;
using namespace System::Collections;
int main()
   String^ delimStr = " ,.:";
   array<Char>^delimiter = delimStr->ToCharArray();
   String^ words = "one two,three:four.";
   array<String^>^split = nullptr;
   Console::WriteLine( "The delimiters are -{0}-", delimStr );
   for ( int x = 1; x <= 5; x++ )
      split = words->Split( delimiter, x );
      Console::WriteLine( "\ncount = {0, 2} ..............", x );
      IEnumerator^ myEnum = split->GetEnumerator();
      while ( myEnum->MoveNext() )
         String^ s = safe_cast<String^>(myEnum->Current);
         Console::WriteLine( "-{0}-", s );

// The example displays the following output:
//       The delimiters are - ,.:-
//       count =  1 ..............
//       -one two,three:four.-
//       count =  2 ..............
//       -one-
//       -two,three:four.-
//       count =  3 ..............
//       -one-
//       -two-
//       -three:four.-
//       count =  4 ..............
//       -one-
//       -two-
//       -three-
//       -four.-
//       count =  5 ..............
//       -one-
//       -two-
//       -three-
//       -four-
//       --

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top