从Int数组转换为字符串数组

时间:2012-12-27 07:50:04

标签: c# .net arrays linq linq-to-objects

当我将整数数组转换为字符串数组时,我使用for循环以较长的方式进行,如下面的示例代码中所述。这有简写吗?

SO中现有的问题和答案大约是int[]string(不是string[])。所以他们没有帮助。

虽然我找到了这个Converting an int array to a String array答案,但平台是Java而不是C#。同样的方法无法实现!

        int[] intarray =  { 198, 200, 354, 14, 540 };
        Array.Sort(intarray);
        string[] stringarray = { string.Empty, string.Empty, string.Empty, string.Empty, string.Empty};

        for (int i = 0; i < intarray.Length; i++)
        {
            stringarray[i] = intarray[i].ToString();
        }

4 个答案:

答案 0 :(得分:66)

int[] intarray = { 1, 2, 3, 4, 5 };
string[] result = intarray.Select(x=>x.ToString()).ToArray();

答案 1 :(得分:11)

尝试Array.ConvertAll

int[] myInts = { 1, 2, 3, 4, 5 };

string[] result = Array.ConvertAll(myInts, x=>x.ToString());

答案 2 :(得分:4)

你走了:

Linq版本:

String.Join(",", new List<int>(array).ConvertAll(i => i.ToString()).ToArray());

简单的一个:

string[] stringArray = intArray.Select(i => i.ToString()).ToArray();

答案 3 :(得分:-2)

这是另一种可行的方法`


int[] intarray =  { 198, 200, 354, 14, 540 };
        Array.Sort(intarray);
        string[] stringarray =new String[intarray.Legnth];
        int counter = 0;

         foreach (var num in intarray )
            {
                    stringarray[counter] = num.ToString();
                    counter++;
            }

因此您可以从中取出该元素,并将其一次设置为一个字符串:)