C#靜態方法使用經驗淺談

來源:互聯網
上載者:User

C#靜態方法有什麼弊端? 我們在實際的開發過程中會注意到C#靜態方法對於我們程式的影 響,那麼有哪些C#靜態方法使用的體會呢?這裡我們來看看一些方面:

C#靜態方法使用中遇到的問題:

在源碼工程中幾乎沒有看到什麼靜態方法,但是在Ms的SQLHelper中幾乎全部使用的是靜 態方法,為什麼會這樣呢?我們來看看有以下的幾種可能:

1、在一些系統中使用非常頻繁的方法都使用靜態方法可以提高系統效能我是這麼認為的 :)

2、本身不可升級, 重寫 這要看一個軟體產品的目的是什麼了.

3、為了方便,不用執行個體化,但這樣程式編譯運行時就佔用了系統資源

4、C#靜態方法及屬性在程式啟動的時候,就全部裝入記憶體的,而不管這些方法、屬性以 後有沒有用到。即使是沒有人再訪問程式,這部分記憶體仍然不會釋放還有就是,所有訪問者 看到的靜態屬性的資料幾乎都是一樣的,比如A使用者佈建了UserName這個屬性,B使用者訪問的 時候,得到的UserName仍然是A使用者佈建的那個。這種特性,如果用在固定資料中,那不會有 太大問題,比如連接字串之類的

5、C#靜態方法/資料成員是屬於類的,不是屬於某一個對象的,因而調用它不需要執行個體化 ;靜態方法和待用資料成員相當於共用變數。為該類的所有對象所共有,因而在需要共用數 據時,定義這種類型時很好的選擇。 一但定義一個類後(不一定要執行個體化對象)該類的所有 靜態成員就載入記憶體(並不是程式啟動,就裝入記憶體,沒有定義該類時它不會載入記憶體) 靜態 成員的範圍與它所屬的類的範圍相同

C#靜態方法的使用方式的一些相關內容就向你介紹到這裡,希望對你學習和使用C#靜態方 法有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.