.NET 效能秘訣

「效能」這個詞一般指的是程式的執行速度。 您有時可以遵循原始程式碼中的特定基本規則來增加執行速度。 在某些程式中,請務必仔細檢查程式碼,並使用程式碼剖析工具,確定以最快速度執行。 在其他程式中,您不需要執行這類最佳化,因為程式碼會以撰寫時的可接受速度快速執行。 本文列出效能可能會降低的一些常見區域和其改善祕訣,以及其他效能主題的連結。 如需效能規劃和測量的詳細資訊,請參閱效能

Boxing 和 Unboxing

如果必須對實值型別進行 Boxing 處理多次,則最好避免使用實值型別,例如,在 System.Collections.ArrayList 這類非泛型集合類別中。 您可以使用 System.Collections.Generic.List<T> 這類泛型集合,避免對實值型別進行 Boxing 處理。 Boxing 和 Unboxing 是會耗費大量運算資源的處理序。 對實值型別進行 Boxing 處理時,必須建立全新的物件。 這所需的時間最多是簡單參考指派的 20 倍。 Unboxing 處理時,轉換處理序可能需要指派的四倍時間。 如需詳細資訊,請參閱 Boxing 和 Unboxing

字串

當您串連大量字串變數時 (例如在緊密迴圈中),請使用 System.Text.StringBuilder,而非 C# + 運算子或 Visual Basic 串連運算子。 如需詳細資訊,請參閱如何串連多個字串Visual Basic 中的串連運算子

完成項

不應該使用空的完成項。 類別包含完成項時,會在完成佇列中建立一個項目。 呼叫完成項時,會叫用記憶體回收行程來處理佇列。 如果完成項是空的,則這只會導致效能降低。 如需詳細資訊,請參閱完成項物件存留期:物件的建立和終結方式

其他資源

另請參閱