c# – 有一个简单的方法来将int转换成每个数字的int数组?

前端之家收集整理的这篇文章主要介绍了c# – 有一个简单的方法来将int转换成每个数字的int数组?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
说我有
var i = 987654321;

有一个简单的方法获取数组的数组,相当于

var is = new int[] { 9,8,7,6,5,4,3,2,1 };

没有.ToString()并使用int.Parse(x)来迭代chars.

解决方法

public Stack<int> NumbersIn(int value)
{
    if (value == 0) return new Stack<int>();

    var numbers = NumbersIn(value / 10);

    numbers.Push(value % 10);

    return numbers;
}

var numbers = NumbersIn(987654321).ToArray();

替代无递归:

public int[] NumbersIn(int value)
{
    var numbers = new Stack<int>();

    for(; value > 0; value /= 10)
        numbers.Push(value % 10);

    return numbers.ToArray();
}

猜你在找的C#相关文章