C# int数组转string字符串

方式一:通过循环数组拼接的方式;

 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  259 161  150   169 157   151 159   200 143   163  171.2
方法2  12  2  2  1  1  0.9  1 2.9   2.78 

    通过上面的对比,可以看出方法2有绝对的优势,并且代码也比较简洁,所以,在有Int数组转换string字符串的需求的时候,推荐使用方法2

 

posted @ 2019-01-17 11:54  好奇未必害死猫  阅读(22818)  评论(0编辑  收藏  举报