C# · 12月 30, 2021

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();}