-1

1つの変数で123456としてコントローラーに整数を取得しています。

次に、各数値を、数値の配列としての間にコンマを入れて他の数値から分離するように変換します{ 1, 2, 3, 4, 5 }

4

4 に答える 4

1

これを試して:

int[] array = new int["123456".ToArray().Count()];
            int i = 0;
            foreach (var item in "123456".ToArray())
            {
                array[i++] = int.Parse(item.ToString());
            }

また

   int[] array = "123456".ToArray().Select(data=>(int)data).ToArray();
于 2013-03-17T18:41:27.620 に答える
1

これを試して

var integers = "123456";
var enumOfInts = integers.ToCharArray().Select(x => Char.GetNumericValue(x));
于 2013-03-17T18:38:31.230 に答える
0

パラメータを文字列として取得している場合は、

Linq Way:

string str_num = "123456"
var arrayOfInts = str_num.ToCharArray().Select(x => x - 48).ToArray();

上記のLinq式では、すべての文字が48&の間にあると想定されています。57

Non Linq Way:

int[] GetIntArray(string str_num)
{
    int num = Int32.Parse(str_num);
    List<int> listOfInts = new List<int>();
    while(num > 0)
    {
        listOfInts.Add(num % 10);
        num = num / 10;
    }
    listOfInts.Reverse();
    return listOfInts.ToArray();
}

解決策の拡張:c#で数値を個々の数字に分割する方法は?

于 2013-03-17T18:39:04.987 に答える
0
{
    string s = "1234567890";
    var lst = new List<int>();

    for (int n = 0; n < s.Length; n++)
    {
        int x;
        if (int.TryParse(s[n].ToString(), out x))
            lst.Add(x);
    }

    int[] arr = lst.ToArray();
}
于 2013-03-17T18:38:40.760 に答える