首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么把一个int整数转换成int[]数组

2013-07-09 
怎样把一个int整数转换成int[]数组如int i1234 变成 int[]{1,2,3,4} 忘各位前辈指点,谢谢~int[] ai.ToSt

怎样把一个int整数转换成int[]数组
如int i=1234 变成 int[]{1,2,3,4} 忘各位前辈指点,谢谢~

int[] a=i.ToString().ToArray().Select(o=>int.Perse(o)).ToArray();
[解决办法]
int[] arr = i.ToString().Select(s => int.Parse(s.ToString())).ToArray();
[解决办法]



int[] a=i.ToString().ToArray().Select(o=>int.Perse(o)).ToArray();

1
[解决办法]


int[] a=i.ToString().ToArray().Select(o=>int.Perse(o)).ToArray();

如果不允许把整数转成字符串的情况下实现,还有什么方法么?
那自己用求余 法去弄。这个不写了。
[解决办法]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 1234;
            int[] result = Enumerable.Range(1, i > 0 ? (int)Math.Log10((double)i) + 1 : (i == 0 ? 1 : (int)Math.Log10((double)-i) + 1))
                .Select(x => (int)((i % Math.Pow(10.0, (double)x) - i % Math.Pow(10.0, (double)x - 1)) / Math.Pow(10.0, (double)(x - 1))))
                .Reverse().ToArray();


            Console.WriteLine(string.Join(", ", result.Select(x => x.ToString()).ToArray()));
        }
    }
}


1, 2, 3, 4
[解决办法]


int[] a=i.ToString().ToArray().Select(o=>int.Perse(o)).ToArray();

如果不允许把整数转成字符串的情况下实现,还有什么方法么?
那自己用求余 法去弄。这个不写了。
前辈,不是很明白呢,能不能详细点呀,谢谢了

你自己看吧,哪个简单

   int i = 1234;
            List<int> list = new List<int>();
            while (i > 0)
            {
                list.Add(i % 10);
                i = i / 10;
            }
            int[] ae = list.OrderBy(o => o).ToArray();



  int[] af = i.ToString().ToArray().Select(o => int.Parse(o.ToString())).ToArray();
[解决办法]
把8楼的List换成Stack, 这样不需要重排序了, 代码如下:
        
        private static int[] ConvertIntToIntArray(int val)
        {
            Stack<int> result = new Stack<int>();
            do
            {
                result.Push(val % 10);
                val /= 10;
            }


            while (val > 0);
            return result.ToArray();
        }


用LINQ虽然简洁, 但是字符串转换没有必要. 直接除数取余更快, 耗资源更少.

热点排行