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

Posted

技术标签:

【中文标题】从 Int 数组转换为字符串数组【英文标题】:Conversion from Int array to string array 【发布时间】:2012-12-27 07:50:03 【问题描述】:

当我将整数数组转换为字符串数组时,我使用 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();
        

【问题讨论】:

【参考方案1】:
int[] intarray =  1, 2, 3, 4, 5 ;
string[] result = intarray.Select(x=>x.ToString()).ToArray();

【讨论】:

有效!让我试着理解代码。循环正在这里完成,不是吗?但不是明确的! intarray 中的每个数字都转换为字符串 (x=>x.ToString())。我说的对吗? 你是绝对正确的。循环由Select 方法完成。 请仅在确实有必要时编辑问题并尝试一次制作所有可能的版本。超过一定数量的版本可能会将帖子变成维基!谢谢。【参考方案2】:

试试 Array.ConvertAll

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

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

【讨论】:

不用“使用 System.Data.Linq;”的方法这是一个比实际需要的更大的锤子。【参考方案3】:

给你:

Linq 版本:

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

简单一:

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

【讨论】:

String.Join 不是必需的。 Select 是 Linq 方法,在 Enumerable 类中定义。 ConvertAll 在 Array 类中定义(甚至在 linq 之前就存在)。 这意味着如果我们使用 CovertAll,则无需声明 using System.Linq;!非常感谢! 这意味着你也可以在.Net 2.0 中使用它..@InfantProgrammer'Aravind' 那是因为 .net3/3.5 只是 .NET 2.0 核心上的附加库。

以上是关于从 Int 数组转换为字符串数组的主要内容,如果未能解决你的问题,请参考以下文章

将每个数字从保存在字符串中的数字转换为 int 数组

如何将输入的数字字符串转换为 int 数组?

将字符串数组转换为整数数组

如何将字符串数组转换为 int 数组以访问 int 数组中的数据?

int数组 如何转换为 string

如何在java中将字符串数组转换为int数组[重复]