對list進行查詢的時候,會有多種方法供我們使用,但是在追求**簡潔和效率的情況下,哪種方法才是我們的最優選擇呢?
先把我的測試結果擺出了吧~
查詢方式/單位(ms)
debug模式
release模式
for4.2
1.6foreach
73.2
firstordefault119
find4.41.8
for的效率是最高的,但是再兼顧行數和效率的情況下首選find
1.計算程式的執行時間
//用stopwatch類(system.diagnostics)計算耗時
static void subtest()
ms.", ts2.totalmilliseconds);
}
2.測試list
public
class model
public
int age
} listlist=new list();
int myage ;
for (int i = 0; i < list.count; i++)
int myage ;
foreach(model m in list)
int myage = list.find(x => x
.name == "小明").age
;
int myage = list.firstordefault(s => s.name == "小明").age
;
public
partial
class form1 : form
count++;
}sw.stop();
timespan ts2 = sw.elapsed;
console.writeline("stopwatch總共花費ms.", ts2.totalmilliseconds);
}///
/// foreach的方式查詢
//////
///private
void
button2_click(object sender, eventargs e)
count++;
}
sw.stop();
timespan ts2 = sw.elapsed;
console.writeline("stopwatch總共花費ms.", ts2.totalmilliseconds);
}///
/// find的方式查詢
//////
///private
void
button3_click(object sender, eventargs e)
sw.stop();
timespan ts2 = sw.elapsed;
console.writeline("stopwatch總共花費ms.", ts2.totalmilliseconds);
}///
/// firstordefault的方式查詢
//////
///private
void
button4_click(object sender, eventargs e)
sw.stop();
timespan ts2 = sw.elapsed;
console.writeline("stopwatch總共花費ms.", ts2.totalmilliseconds);
}public
form1()
private
void
form1_load(object sender, eventargs e)
}public
class model
public
int age
}
四種讀入方式的效率對比
序 之前在一篇關於vector的push back和resize 等方式讀取資料的效率對比中,我們發現最快的是通過讀入優化。這次將測試四種讀入方式的效率對比 兩種讀入優化,scanf與fscanf。測試資料採用隨機生成的10000000個int型整數,在windows環境下執行。測試時間由time....
spring 對屬性的四種注入方式
spring 對屬性的四種注入方式 1.set方式注入 注意 這種方式是我比較熟悉的方式,也是我經常用到的方式,直接使用name和value進行注入操作。如果是引用物件型別,使用ref將配置好的bean物件注入。2.構造方法注入 注意 我一般使用的是構造方法引數的名字進行注入,但是有時候出現,沒有指...
四種方式實現SQLServer 分頁查詢
sqlserver 的資料分頁 假設現在有這樣的一張表 create table test id int primary key not null identity,names varchar 20 然後向裡面插入大約1000條資料,進行分頁測試 假設頁數是10,現在要拿出第5頁的內容,查詢語句如下...