web-dev-qa-db-ja.com

コンマ区切りの文字列をint []に変換する最も簡単な方法は何ですか?

1,5,7のようなコンマ区切りの文字列があるので、このstringint[]に変換する最も簡単でネイティブな方法は何ですか?独自の分割関数を作成できますが、ほとんどのネイティブな方法でそれを行う方法に興味があります。よろしくお願いします!

32
kseen
string s = "1,5,7";
int[] nums = Array.ConvertAll(s.Split(','), int.Parse);

または、LINQ-yバージョン:

int[] nums = s.Split(',').Select(int.Parse).ToArray();

しかし、最初のものは少し速くなるはずです。

80
Ben Voigt
string numbers = "1,5,7";
string[] pieces = numbers.Split(new string[] { "," },
                                  StringSplitOptions.None);

int[] array2 = new int[pieces.length];

for(int i=0; i<pieces.length; i++)
    array2[i] = Convert.ToInt32(pieces[i]);
7
MD Sayem Ahmed

どうぞ。

string numbers = "1,5,7";
List<int> numlist = new List<int>();

foreach (string number in numbers.Split(','))
    numlist.Add(Int32.Parse(number));
6
Brian Graham