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
Длина подстроки в этом экземпляре.
Возвращаемое значение
Массив символов Юникода, элементы которого являются 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()
Возвращаемое значение
Массив символов Юникода, элементы которого являются отдельными символами этого экземпляра. Если этот экземпляр является пустой строкой, возвращаемый массив пуст и имеет нулевую длину.
Примеры
В следующем примере метод вызывает 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.