在很多時候,我們需要將list集合轉換為陣列,或者陣列轉換為list,我今天測試了一下將資料轉換為list的三種方法的效率,我們驗證下面這個陣列:
inttestarray = new int[100000000];
for (int i = 0; i < 100000000; i++)
testarray[i] = i;
注意,陣列裡面的內容放多點,這樣才看得出效果。
首先,我們看下使用linq的tolist(),這個需要新增usingsystem.linq;
///第一種:linq
datetime starttime = datetime.now;
listlist = testarray.tolist();
datetime endtime = datetime.now;
timespan ts = endtime - starttime;
console.writeline("linq: " + ts.milliseconds +"ms");
在我的計算機裡面測試的結果是:linq:124ms
其次,我們使用for迴圈遍歷陣列,然後把陣列裡面的值賦值給乙個已經申明好的list集合:
///第二種:for迴圈
listtestdata = new list();
datetime startfor = datetime.now;
for (int i = 0; i < testarray.length; i++)
testdata.add(testarray[i]);
datetime endfor = datetime.now;
timespan tsfor = endfor - startfor;
console.writeline("for :" + tsfor.milliseconds +"ms");
在我的計算機裡面測試的結果是:for:920ms
最後,我們使用foreach迴圈遍歷陣列,同樣把陣列裡面的值賦值給乙個已經申明好的list集合:
///第三種:foreach迴圈
listforeachdata = new list();
datetime foreachstart = datetime.now;
foreach (int i in testarray)
foreachdata.add(i);
datetime foreachend = datetime.now;
timespan tsforeach = foreachend - foreachstart;
console.writeline("foreach :" + tsforeach.milliseconds +"ms");
在我的計算機裡面測試的結果是:foreach:998ms
通過這三種方法,最終我們了解到linq運算元組轉集合的效率比遍歷操作的效率高出很多,當然當資料溢位記憶體時,這種方法就不能通用了。
Int 和 String 互相轉換的多種方法
int 和 string 互相轉換的多種方法 1 如何將字串 string 轉換成整數 int?a.有兩個方法 1 int i integer.parseint string 或 i integer.parseint string int radix 2 int i integer.valueof ...
int 和 String 互相轉換的多種方法
1 如何將字串 string 轉換成整數 int?a.有兩個方法 1 int i integer.parseint string 或 i integer.parseint string int radix 2 int i integer.valueof my str intvalue 注 字串轉成 ...
int 和 String 互相轉換的多種方法
1 如何將字串 string 轉換成整數 int?a.有兩個方法 1 int i integer.parseint string 或 i integer.parseint string int radix 2 int i integer.valueof my str intvalue 注 字串轉成 ...