String.ToCharArray Метод

Определение

Копирует знаки данного экземпляра в массив знаков Юникода.Copies the characters in this instance to a Unicode character array.

Перегрузки

ToCharArray(Int32, Int32)

Копирует знаки из указанной подстроки данного экземпляра в массив знаков Юникода.Copies the characters in a specified substring in this instance to a Unicode character array.

ToCharArray()

Копирует знаки данного экземпляра в массив знаков Юникода.Copies the characters in this instance to a Unicode character array.

ToCharArray(Int32, Int32)

Копирует знаки из указанной подстроки данного экземпляра в массив знаков Юникода.Copies the characters in a specified substring in this instance to a Unicode character array.

public:
 cli::array <char> ^ ToCharArray(int startIndex, int length);
public char[] ToCharArray (int startIndex, int length);
member this.ToCharArray : int * int -> char[]
Public Function ToCharArray (startIndex As Integer, length As Integer) As Char()

Параметры

startIndex
Int32

Начальная позиция подстроки в данном экземпляре.The starting position of a substring in this instance.

length
Int32

Длина подстроки в данном экземпляре.The length of the substring in this instance.

Возвраты

Char[]

Массив знаков Юникода, элементами которого являются length знаков данного экземпляра начиная с позиции startIndex.A Unicode character array whose elements are the length number of characters in this instance starting from character position startIndex.

Исключения

Значение параметра startIndex или length меньше нуля.startIndex or length is less than zero.

- или --or- startIndex + length больше длины этого экземпляра.startIndex plus length is greater than the length of this instance.

Примеры

В следующем примере подстрока в строке преобразуется в массив символов, затем перечисляется и отображаются элементы массива.The following example converts a substring within a string to an array of characters, then enumerates and displays the elements of the array.

// Sample for String::ToCharArray(Int32, Int32)
using namespace System;
using namespace System::Collections;
int main()
{
   String^ str = "012wxyz789";
   array<Char>^arr;
   arr = str->ToCharArray( 3, 4 );
   Console::Write( "The letters in '{0}' are: '", str );
   Console::Write( arr );
   Console::WriteLine( "'" );
   Console::WriteLine( "Each letter in '{0}' is:", str );
   IEnumerator^ myEnum = arr->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Char c =  safe_cast<Char>(myEnum->Current);
      Console::WriteLine( c );
   }
}

/*
This example produces the following results:
The letters in '012wxyz789' are: 'wxyz'
Each letter in '012wxyz789' is:
w
x
y
z
*/
// Sample for String.ToCharArray(Int32, Int32)
using System;

class Sample {
    public static void Main() {
    string str = "012wxyz789";
    char[] arr;

    arr = str.ToCharArray(3, 4);
    Console.Write("The letters in '{0}' are: '", str);
    Console.Write(arr);
    Console.WriteLine("'");
    Console.WriteLine("Each letter in '{0}' is:", str);
    foreach (char c in arr)
        Console.WriteLine(c);
    }
}
/*
This example produces the following results:
The letters in '012wxyz789' are: 'wxyz'
Each letter in '012wxyz789' is:
w
x
y
z
*/
' Sample for String.ToCharArray(Int32, Int32)
Class Sample
   
   Public Shared Sub Main()
      Dim str As String = "012wxyz789"
      Dim arr() As Char
      
      arr = str.ToCharArray(3, 4)
      Console.Write("The letters in '{0}' are: '", str)
      Console.Write(arr)
      Console.WriteLine("'")
      Console.WriteLine("Each letter in '{0}' is:", str)
      Dim c As Char
      For Each c In arr
         Console.WriteLine(c)
      Next c
   End Sub
End Class
'
'This example produces the following results:
'The letters in '012wxyz789' are: 'wxyz'
'Each letter in '012wxyz789' is:
'w
'x
'y
'z
'

Комментарии

Этот метод копирует символы из части строки в массив символов.This method copies the characters in a portion of a string to a character array. Чтобы создать строку из диапазона символов в массиве символов, вызовите конструктор String(Char[], Int32, Int32).To create a string from a range of characters in a character array, call the String(Char[], Int32, Int32) constructor.

Параметр startIndex отсчитывается от нуля.The startIndex parameter is zero-based. То есть индекс первого символа в экземпляре строки равен нулю.That is, the index of the first character in the string instance is zero.

Если length равно нулю, возвращаемый массив пуст и имеет нулевую длину.If length is zero, the returned array is empty and has a zero length. Если этот экземпляр имеет null или пустую строку (""), возвращаемый массив пуст и имеет нулевую длину.If this instance is null or an empty string (""), the returned array is empty and has a zero length.

Чтобы создать массив байтов, содержащий закодированные символы в части строки, создайте экземпляр соответствующего объекта Encoding и вызовите его метод GetBytes(String, Int32, Int32, Byte[], Int32).To create a byte array that contains the encoded characters in a portion of a string, instantiate the appropriate Encoding object and call its GetBytes(String, Int32, Int32, Byte[], Int32) method. Ниже перечислены некоторые из стандартных кодировок, доступных в .NET.Some of the standard encodings available in .NET include:

кодировкаEncoding ObjectObject
ASCIIASCII ASCIIEncoding
UTF-7UTF-7 UTF7Encoding
UTF-8UTF-8 UTF8Encoding
UTF-16UTF-16 UnicodeEncoding
UTF-32UTF-32 UTF32Encoding

Дополнительные сведения см. в разделе кодировка символов в .NET.For more information, see Character Encoding in .NET.

Дополнительно

ToCharArray()

Копирует знаки данного экземпляра в массив знаков Юникода.Copies the characters in this instance to a Unicode character array.

public:
 cli::array <char> ^ ToCharArray();
public char[] ToCharArray ();
member this.ToCharArray : unit -> char[]
Public Function ToCharArray () As Char()

Возвраты

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.

Примеры

В следующем примере вызывается метод ToCharArray для извлечения символов из строки в массив символов.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.

using System;

public class Example
{
   public static void Main()
   {
      String s = "AaBbCcDd";
      var chars = s.ToCharArray();
      Console.WriteLine("Original string: {0}", s);
      Console.WriteLine("Character array:");
      for (int ctr = 0; ctr < chars.Length; ctr++)
         Console.WriteLine("   {0}: {1}", ctr, chars[ctr]);
   }
}

// The example displays the following output:
//     Original string: AaBbCcDd
//     Character array:
//        0: A
//        1: a
//        2: B
//        3: b
//        4: C
//        5: c
//        6: D
//        7: d
Module Example
   Public Sub Main()
      Dim s As String = "AaBbCcDd"
      Dim chars() = s.ToCharArray()
      Console.WriteLine("Original string: {0}", s)
      Console.WriteLine("Character array:")
      For ctr = 0 to chars.Length - 1
         Console.WriteLine("   {0}: {1}", ctr, chars(ctr))
      Next
   End Sub
End Module
' The example displays the following output:
'     Original string: AaBbCcDd
'     Character array:
'        0: A
'        1: a
'        2: B
'        3: b
'        4: C
'        5: c
'        6: D
'        7: d

В следующем примере определяется строка, содержащая символы, которые служат разделителями в строке с разделителями.The following example defines a string containing the characters that serve as delimiters in a delimited string. Затем он вызывает метод ToCharArray, чтобы создать массив символов, который можно передать в метод Split(Char[]), чтобы разделить строку с разделителями на отдельные подстроки.It then calls the ToCharArray method to create a character array that can be passed to the Split(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-
//       --
using System;

public class Example
{
   public static void Main() 
   {
      string delimStr = " ,.:";
      char [] delimiter = delimStr.ToCharArray();
      string words = "one two,three:four.";
      string [] split = null;

      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);
         foreach (var s in split) {
             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-
//       --
Public Class StringSplit2
   Public Shared Sub Main()
      
      Dim delimStr As String = " ,.:"
      Dim delimiter As Char() = delimStr.ToCharArray()
      Dim words As String = "one two,three:four."
      Dim split As String() = Nothing
      
      Console.WriteLine("The delimiters are -{0}-", delimStr)
      Dim x As Integer
      For x = 1 To 5
         split = words.Split(delimiter, x)
         Console.WriteLine(ControlChars.Cr + "count = {0,2} ..............", x)
         Dim s As String
         For Each s In  split
            Console.WriteLine("-{0}-", s)
         Next s
      Next x
   End Sub 
End Class 
' 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-
'       --

Комментарии

Этот метод копирует каждый символ (то есть каждый объект Char) в строке в массив символов.This method copies each character (that is, each Char object) in a string to a character array. Первый скопированный символ находится в нулевом индексе возвращенного массива символов; последний скопированный символ находится в индексе Array.Length-1.The first character copied is at index zero of the returned character array; the last character copied is at index Array.Length - 1.

Чтобы создать строку из символов в массиве символов, вызовите конструктор String(Char[]).To create a string from the characters in a character array, call the String(Char[]) constructor.

Чтобы создать массив байтов, содержащий закодированные символы в строке, создайте экземпляр соответствующего объекта Encoding и вызовите его метод Encoding.GetBytes(String).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. Ниже перечислены некоторые стандартные кодировки, доступные в .NET.Some of the standard encodings available in .NET include the following:

кодировкаEncoding ObjectObject
ASCIIASCII ASCIIEncoding
UTF-7UTF-7 UTF7Encoding
UTF-8UTF-8 UTF8Encoding
UTF-16UTF-16 UnicodeEncoding
UTF-32UTF-32 UTF32Encoding

Дополнительные сведения см. в разделе кодировка символов в .NET.For more information, see Character Encoding in .NET.

Дополнительно

Применяется к