c List四種查詢方式的效率對比

2021-07-29 09:54:39 字數 2163 閱讀 7181

對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頁的內容,查詢語句如下...