C 編碼過程中的良好習慣影響效能

2021-06-07 14:41:31 字數 1661 閱讀 5636

本文摘自論壇:

1.關於for和foreach,盡量使用for,for的寫發盡量使用:for (int i = 0, h = arr.count; i < h; i++)

listarr = new list();

for (int i = 0; i < tnum; i++)

arr.add(i);

stopwatch watch = new stopwatch();

for (int i = 0, h = arr.count; i < h; i++)

watch.stop();

console.writeline("for1耗時:" + watch.elapsedticks.tostring());

watch.reset();

watch.start();

//msg = "2";

for (int i = 0; i < arr.count; i++)

watch.stop();

console.writeline("for2耗時:" + watch.elapsedticks.tostring());

watch.reset();

watch.start();

foreach (int str in arr)

watch.stop();

console.writeline("foreach耗時:" + watch.elapsedticks.tostring());

3種寫法分別耗時:

2. 字串拼接:

string a = "aa" + 123.tostring();

而不是用string a = "aa" + 123

3.字串比較或查詢:

str.indexof("abc", stringcomparison.ordinal)

而不是使用:str.indexof("abc"),這個等於str.indexof(value,stringcomparison.currentculture)

stringcomparison.currentculture:使用區域敏感排序規則和當前區域比較字串

stringcomparison.ordinal:使用序號排序規則比較字串

4. hashtable、dictionary、sortedlist、sorteddictionary等字典使用

a、使用字典的trygetvalue方法,如:

dictionaryabc;

string a;

if(!abc.trygetvalue(key, out a))else

而不要用下面的**,因為下面的**重複查詢了2次key:

if(!abc.containkeys(key))

else

b、刪除字典的key時,直接使用remove方法,不要事先判斷,比如:

dictionaryabc;

if(abc.remove(key))else

c、插入元素時,直接使用this[key] = value,如:

abc[key] = value;// 注意需求,如果允許覆蓋才可以用

而不需要:if(!abc.containskey(key))abc.add(key, value);

反編譯**,可以看到add和this是呼叫同乙個方法的

git使用的良好習慣

git作為分布式版本控制系統受到大眾的追捧。為了管理好我們的 更好的團隊協作,我們使用git來協助我們。乙個簡單的git專案分支主要有master,develop,hotfix.master 可發布到線上的分支 develop 開發分支 hotfix 緊急修復bug分支 開始新版本開發 建立新的分支...

程式設計的 5 個良好習慣

像其他語言一樣,開發人員可以用 php 編寫出各種質量級別的 學習良好的程式設計習慣能夠提高 質量和效率。根據具體的情況,一般的開發人員往往比優秀的開發人員的效率低 10 20 優秀的開發人員的效率更高,因為他們擁有豐富的經驗和良好的程式設計習慣。不良的程式設計習慣將會影響到效率。本文通過展示一些良...

使用 UNIX 的 10 個良好習慣

the linux cookbook 一書的作者 michael stutz 憑藉自己多年使用 unix 的經驗,總結了 10 個良好習慣,個人認為真的很受用,現摘要如下與大家分享。建立層級目錄 使用 mkdir 的 p 選項,如 mkdir p tmp a b c。解包到指定的目錄 使用 tar ...