整数整数数组C# [英] Integer to Integer Array C#

查看:174
本文介绍了整数整数数组C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不得不分割一个int123456为int []它的每一个值,我已经一个解决方案,但我不知道有没有什么更好的办法:
我的解决办法是:

 公共静态INT [] intToArray(INT NUM){
    琴弦固定= num.ToString();
    INT []号=新INT [Holder.ToString()长。]
    的for(int i = 0; I< numbers.length;我++){
        号码[I] = Convert.toInt32(holder.CharAt(ⅰ));
    }
    返回的数字;
}


解决方案

我相信这会比来回转换更好。相对于JBSnorro's答案,我转换成一个阵列中后反转,因此避免的IEnumerable 的,我认为将有助于快一点点code。这对于非负数的方法的工作,所以 0 将返回新INT [1] {0}

如果它应该为负数的工作,你可以做一个 N = Math.Abs​​(N),但我不认为这是有道理的。

此外,如果要更高性能,我可以创建最终的阵列通过二进制搜索等的if语句来确定的位数结合开始。

 公共静态INT [] digitArr(INT N)
{
    如果(N == 0)返回新INT [1] {0};    VAR位数=新的List< INT>();    针对行(; n = 0;!N / = 10)
        digits.Add(N%10);    VAR ARR = digits.ToArray();
    Array.Reverse(ARR);
    返回ARR;
}

I had to split an int "123456" each value of it to an Int[] and i have already a Solution but i dont know is there any better way : My solution was :

public static int[] intToArray(int num){
    String holder = num.ToString();
    int[] numbers = new int[Holder.ToString().Length]; 
    for(int i=0;i<numbers.length;i++){
        numbers[i] = Convert.toInt32(holder.CharAt(i));
    }
    return numbers;
}

解决方案

I believe this will be better than converting back and forth. As opposed to JBSnorro´s answer I reverse after converting to an array and therefore avoid IEnumerable´s which I think will contribute to a little bit faster code. This method work for non negative numbers, so 0 will return new int[1] { 0 }.

If it should work for negative numbers, you could do a n = Math.Abs(n) but I don't think that makes sense.

Furthermore, if it should be more performant, I could create the final array to begin with by making a binary-search like combination of if-statements to determine the number of digits.

public static int[] digitArr(int n)
{
    if (n == 0) return new int[1] { 0 };

    var digits = new List<int>();

    for (; n != 0; n /= 10)
        digits.Add(n % 10);

    var arr = digits.ToArray();
    Array.Reverse(arr);
    return arr;
}

这篇关于整数整数数组C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆