[C#]文字列を1文字ずつに分割して配列にするには?

C#

どうも、ちょげ(@chogetarou)です。

文字列を一文字ずつに分割する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列を一文字ずつに分割する方法は、2つあります。

ToCharArray()

1つは、ToCharArray()を使う方法です。

具体的には、対象の文字列からToCharArray()を呼び出します。

char[] splitStr = text.ToCharArray();

ToCharArray()は、呼び出した文字列を1文字ずつに分割した配列を返します。

使用例

using System;
public class Example
{
    public static void Main()
    {
        string name = "Taro\nJiro\nSaburo\nSiro\nGoro";
        
        string text = "12345";
        
        char[] numbers = text.ToCharArray();
        
        foreach(var number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

/*
    出力:
    1
    2
    3
    4
    5
*/

System.Linq

もう1つは、System.Linqを使う方法です。

まず、System.LInqを導入します。

using System.Linq;

次に、対象の文字列からSelect()を呼び出します。

Select()の引数に、引数のToString()を返すラムダ式を指定します。

そして、Select()からToString()を呼び出します。

string[] splitArray = text.Select(x => x.ToString()).ToArray();

上記のToArray()は、Select()を呼び出した文字列を一文字ずつに分割した配列を返します。

Select()は省略できます。

Select()を省略した場合は、ToArray()で返す配列の型がchar[]になります。

使用例

using System;
using System.Linq;
public class Example
{
    public static void Main()
    {
        string text = "12345";
        
        string[] numbers = text.Select(x => x.ToString()).ToArray();
        
        foreach(var number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

/*
    出力:
    1
    2
    3
    4
    5
*/
スポンサーリンク

まとめ

文字列を1文字ずつに分割した配列にする方法は、次の2つです。

  • ToArray()を使う方法
    char[] splitStr = text.ToCharArray();
  • System.Linqを使う方法
    string[] splitArray = text.Select(x => x.ToString()).ToArray();

コメント

タイトルとURLをコピーしました