String.ToCharArray Метод

Определение

Копирует символы в этот экземпляр в массив символов Юникода.

Перегрузки

Имя Описание
ToCharArray(Int32, Int32)

Копирует символы в указанной подстроке в этом экземпляре в массив символов Юникода.

ToCharArray()

Копирует символы в этот экземпляр в массив символов Юникода.

ToCharArray(Int32, Int32)

Копирует символы в указанной подстроке в этом экземпляре в массив символов Юникода.

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

Начальная позиция подстроки в этом экземпляре.

length
Int32

Длина подстроки в этом экземпляре.

Возвращаемое значение

Char[]

Массив символов Юникода, элементы которого являются length числом символов в этом экземпляре, начиная с позиции startIndexсимволов.

Исключения

startIndex или length меньше нуля.

–или–

startIndex плюс length больше длины этого экземпляра.

Примеры

Следующий пример преобразует подстроку в строку в массив символов, а затем перечисляет и отображает элементы массива.

// 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)
let str = "012wxyz789"

let arr = str.ToCharArray(3, 4)
printf $"The letters in '{str}' are: '"
printf $"{arr}"
printfn "'"
printfn $"Each letter in '{str}' is:"
for c in arr do
    printfn $"{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
'

Комментарии

Этот метод копирует символы в части строки в массив символов. Чтобы создать строку из диапазона символов в массиве символов, вызовите String(Char[], Int32, Int32) конструктор.

Параметр startIndex основан на нулях. То есть индекс первого символа в экземпляре строки равен нулю.

Если length значение равно нулю, возвращаемый массив пуст и имеет нулевую длину. Если этот экземпляр имеет null или пустую строку (""), возвращаемый массив пуст и имеет нулевую длину.

Чтобы создать массив байтов, содержащий закодированные символы в части строки, создайте экземпляр соответствующего Encoding объекта и вызовите его GetBytes(String, Int32, Int32, Byte[], Int32) метод. Ниже приведены некоторые стандартные кодировки, доступные в .NET:

Кодирование Объект
ASCII ASCIIEncoding
UTF-7 UTF7Encoding
UTF-8 UTF8Encoding
UTF-16 UnicodeEncoding
UTF-32 UTF32Encoding

Дополнительные сведения см. в разделе "Кодировка символов" в .NET.

См. также раздел

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

ToCharArray()

Копирует символы в этот экземпляр в массив символов Юникода.

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

Возвращаемое значение

Char[]

Массив символов Юникода, элементы которого являются отдельными символами этого экземпляра. Если этот экземпляр является пустой строкой, возвращаемый массив пуст и имеет нулевую длину.

Примеры

В следующем примере метод вызывает ToCharArray метод для извлечения символов в строке в массив символов. Затем он отображает исходную строку и элементы в массиве.

using System;

public class Example
{
   public static void Main()
   {
      string s = "AaBbCcDd";
      char[] 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
let s = "AaBbCcDd"
let chars = s.ToCharArray()
printfn $"Original string: {s}"
printfn "Character array:"
for i = 0 to chars.Length - 1 do
    printfn $"   {i}: {chars[i]}"

// 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

Комментарии

Этот метод копирует каждый символ (то есть каждый Char объект) в строку в массив символов. Первый скопированный символ находится в нулевом индексе возвращаемого массива символов; Последний скопированный символ находится в индексе Array.Length – 1.

Чтобы создать строку из символов в массиве символов, вызовите String(Char[]) конструктор.

Чтобы создать массив байтов, содержащий закодированные символы в строке, создайте экземпляр соответствующего Encoding объекта и вызовите его Encoding.GetBytes(String) метод. Ниже приведены некоторые стандартные кодировки, доступные в .NET:

Кодирование Объект
ASCII ASCIIEncoding
UTF-7 UTF7Encoding
UTF-8 UTF8Encoding
UTF-16 UnicodeEncoding
UTF-32 UTF32Encoding

Дополнительные сведения см. в разделе "Кодировка символов" в .NET.

См. также раздел

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