for Loop的性能问题?

use*_*191 0 c#

考虑以下程序,

     List<string> l_lstRawData = new List<string>();
     ........
     ........
Run Code Online (Sandbox Code Playgroud)

现在l_lstRawData填充了数据,例如,

    l_lstRawData[0] = "11111101101010................................0000011101010101";
    l_lstRawData[1] = "11111101111111...............................0000011101010101";
    l_lstRawData[2] = "11111101101010................................0000011101010101";
    l_lstRawData[3] = "11100001101010................................0000011101010101";
    l_lstRawData[4] = "11000101101010................................0000011101010101";
    l_lstRawData[5] = "11111101101010................................0000011101010101";
Run Code Online (Sandbox Code Playgroud)

现在我想要结果List l_lstResultData = new List();

    l_lstResultData [0] = "111111";
    l_lstResultData [1] = "111111";
    l_lstResultData [2] = "111101";
    l_lstResultData [3] = "111001";
    l_lstResultData [4] = "111001";
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的代码 ,l_lstRawData的长度等于l_lstRawData中的每个单独元素

    string l_strTempData  = "";
    for(int l_nData;l_nData< l_lstRawData.Length;l_nData++)
    {
         l_strTempData  = "";
         for(int l_nItem = 0;l_nItem< l_lstRawData.Length;l_nItem++)
         {
             l_strTempData += l_lstRawData[**l_nData**].ToString();   
         }      
         l_lstResultData.Add(l_strTempData );
    }
Run Code Online (Sandbox Code Playgroud)

它需要很长时间,因为l_lstRawData长度的每个项目都超过60,000 .....是否可以使用任何其他方法?

如果你有任何疑问,请回复我.

Joe*_*nez 6

哦,男孩,是的,字符串连接真的很慢.您应该考虑使用StringBuilder类

http://msdn.microsoft.com/en-us/library/2839d5h5%28VS.71%29.aspx

  • 这不是for循环本身,不是.这是你在循环中做的事情:-) (2认同)