簡體   English   中英

.NET中的塊級別與功能級別范圍是否存在性能影響

[英]Is there a performance impact to block level vs function level scoping in .NET

我正在審查一些C#代碼,並且遇到了一些在函數級別作用域的變量,我將在代碼塊(在這種情況下是一個循環)中使用它們。 對我而言,盡可能更清晰,更容易推理,這就足夠了解塊級范圍。 但我想知道,這種或那種方式對性能有何影響?

根本沒有性能差異。

變量范圍與變量壽命不同。 無論是在函數作用域中還是在函數的代碼塊中聲明,都在函數的堆棧幀中創建變量。 變量在整個函數執行期間存在,只有編譯器根據其范圍限制對變量的訪問。

(注意,如果變量實際上是閉包的一部分而不是常規局部變量,則適用不同的規則。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM