方式一:通过循环数组拼接的方式;
int[] types = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; string result = string.Empty; for (int i = 0; i < types.Length; i++) { result += types[i]; if (i < types.Length - 1) result += ","; } MessageBox.Show(result);方式二:使用string 对象中Join方法实现;
int[] types = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; string result = string.Join(",", types); MessageBox.Show(result);根据上述的两种方式,可以看到使用第二种代码相对简洁了很多;
C# 中 String. Join 方法 是 连接指定数组的元素或集合的成员,在每个元素或成员之间使用指定的分隔符。
Join方法还有好几个重载方法,如下图:
可以根据不同的转换需求去使用,在此就不举例了。
那么,两种方法的效率那个更高一些呢?来个简单的测试
int[] types = new int[10000]; for (int i = 0; i < 10000; i++) { types[i] = i; } DateTime start = DateTime.Now; //方法1 string result = string.Empty; for (int i = 0; i < types.Length; i++) { result += types[i]; if (i < types.Length - 1) result += ","; } //方法二 //string result = string.Join(",", types); DateTime end = DateTime.Now; MessageBox.Show((end - start).TotalMilliseconds.ToString()); View Code
方法1和方法2每个方法分别运行10次,求个平均值:
方法类型第1次第2次第3次第4次第5次第6次第7次第8次第9次第10次平均值(单位:毫秒)方法1 259161 150 169157 151159 200143 163 171.2方法2 121 4 2 2 1 1 0.9 12.9 2.78通过上面的对比,可以看出方法2有绝对的优势,并且代码也比较简洁,所以,在有Int数组转换string字符串的需求的时候,推荐使用方法2。
转载于:https://www.cnblogs.com/Rawls/p/10281489.html
免责声明:文章源自网络,版权归原作者所有,如有侵犯联系删除。