我讀到靜態類的一些文章,但我有一些問題:靜態類概述
如果採取靜態類發生在內存?
根據C# Static Methods:
means that you want the declaration to refer to a single location
如果我在Asp.Net中使用靜態類是否意味着我有一個所有請求之間共享的位置?我在文章中看到,靜態類和靜態方法比面向實例的類更快,所以爲什麼我沒有在每個地方看到它們。我的意思是.Net中存在一些靜態類和方法太。
我讀到靜態類的一些文章,但我有一些問題:靜態類概述
如果採取靜態類發生在內存?
根據C# Static Methods:means that you want the declaration to refer to a single location
如果我在Asp.Net中使用靜態類是否意味着我有一個所有請求之間共享的位置?
我在文章中看到,靜態類和靜態方法比面向實例的類更快,所以爲什麼我沒有在每個地方看到它們。我的意思是.Net中存在一些靜態類和方法太。
1.
靜態類由當被裝載含有 類別的節目或命名空間的.NET Framework公共 語言運行庫(CLR)自動加載。
所以這意味着靜態類加載到內存中。這意味着你不希望當你的進程啓動時你所有的類都加載到內存中。
2. asp.net中的靜態類保存在應用程序狀態,所以是的,你有一個位置在所有請求之間共享。 靜態方法在asp.net中很有用,但前提是你不要在方法內部使用靜態對象,因爲你可能會遇到不同的線程訪問修改相同的可變區。
3.如果你使用很多靜態類,它們將被加載到內存中,這並不是你想要的東西。
請參閱此鏈接瞭解更多信息: static variables in asp.net/C#
堅持以SO知識,不秉周圍是明顯包含FUD像「靜態類和靜態方法更快」的網站。 :) – bzlm
如果是這樣,請給我(和其他誰不瞭解靜態類)有關的參考。感謝 – Arian