どうも、ちょげ(@chogetarou)です。
文字列を一文字ずつに分割する方法を紹介します。
方法

文字列を一文字ずつに分割する方法は、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()を呼び出した文字列を一文字ずつに分割した配列を返します。
使用例
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();
コメント