考慮下面的程序,for循環中的性能問題?
List<string> l_lstRawData = new List<string>();
........
........
現在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";
現在我想要的結果 列表l_lstResultData =新列表();
l_lstResultData [0] = "111111";
l_lstResultData [1] = "111111";
l_lstResultData [2] = "111101";
l_lstResultData [3] = "111001";
l_lstResultData [4] = "111001";
這是我使用的代碼, 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);
}
需要很長的時間,因爲l_lstRawData長度的每個項目是更比60,000 ..... 是否有可能使用其他方法?
如果您有任何疑問,請將我恢復。
爲什麼你將位編碼爲字符串?可能會有更好的方式來做你想做的事情,這樣做會快得多。另外,for循環的目標是什麼,因爲如果我理解正確,現在它所做的就是將l_listRawData中的所有項合併到一個字符串中,並將其添加到l_lstResultData中,然後執行l_listRawData時間。 – 2010-06-24 14:53:48
您在循環中沒有使用'l_nData',所以我認爲您的代碼在開始時是致命的缺陷,無論性能如何。 – 2010-06-24 14:58:29
另外,您的一個輸入字符串比其他輸入字符串短,您希望它如何處理它? – 2010-06-24 14:59:39