String.ToCharArray メソッド

定義

このインスタンスの文字を Unicode 文字配列へコピーします。Copies the characters in this instance to a Unicode character array.

オーバーロード

ToCharArray(Int32, Int32)

このインスタンスの指定した部分文字列の文字を Unicode 文字配列へコピーします。Copies the characters in a specified substring in this instance to a Unicode character array.

ToCharArray()

このインスタンスの文字を Unicode 文字配列へコピーします。Copies the characters in this instance to a Unicode character array.

ToCharArray(Int32, Int32)

このインスタンスの指定した部分文字列の文字を Unicode 文字配列へコピーします。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[]

文字位置 startIndex から始まる、このインスタンス内の文字の length 数を要素とする Unicode 文字配列。A Unicode character array whose elements are the length number of characters in this instance starting from character position startIndex.

例外

startIndex または length が 0 未満です。startIndex or length is less than zero.

または-or-

startIndexlength を加算した値がこのインスタンスの長さを超えています。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パラメーターは0から始まります。The startIndex parameter is zero-based. つまり、文字列インスタンス内の最初の文字のインデックスは0です。That is, the index of the first character in the string instance is zero.

lengthが0の場合、返される配列は空で、長さは0になります。If length is zero, the returned array is empty and has a zero length. このインスタンスが null または空の文字列 ("") の場合、返される配列は空で、長さは0になります。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()

このインスタンスの文字を Unicode 文字配列へコピーします。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[]

このインスタンスの各文字を要素とする Unicode 文字配列。A Unicode character array whose elements are the individual characters of this instance. このインスタンスが空の文字列である場合、返される配列は空で、長さは 0 になります。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";
      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
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 オブジェクト) を文字配列にコピーします。This method copies each character (that is, each Char object) in a string to a character array. コピーされた最初の文字は、返された文字配列のインデックス0になります。コピーされた最後の文字は、インデックス 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.

こちらもご覧ください

適用対象