从 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 数组转换为字符串数组的主要内容,如果未能解决你的问题,请参考以下文章