程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#小知識點積累,

C#小知識點積累,

編輯:C#入門知識

C#小知識點積累,


1、sealed 修飾符

概念:

C#提出了一個密封類(sealed class)的概念,幫助開發人員來解決這一問題。 密封類在聲明中使用sealed 修飾符,這樣就可以防止該類被其它類繼承。如果試圖將一個密封類作為其它類的基類,C#將提示出錯。理所當然,密封類不能同時又是抽象類,因為抽象總是希望被繼承的。 sealed(C# 參考) sealed 修飾符可以應用於類、實例方法和屬性。密封類不能被繼承。密封方法會重寫基類中的方法,但其本身不能在任何派生類中進一步重寫。當應用於方法或屬性時,sealed 修飾符必須始終與 override(C# 參考) [ http://msdn2.microsoft.com/zh-cn/library/ebca9ah3(VS.80).aspx ] 一起使用。

用途:

目前本人只在單例模式中運用過這個修飾符:

首先對單例模式進行個簡單的描述(本人的理解,有誤請指出):第1點要求:保證了一個類有且只能有一個實例。

這樣一來,我們就應想到,要想調用這個類裡面的非靜態方法時候,再也不能用我們熟悉的 Class c = new Class();來先實例化,再去點點點~

如下面這個例子,我們在Test方法裡寫了點東西,我們要想去調用這個方法,既然沒法正常的實例化,那麼就想個其他的辦法。也就是說這個類得給我們提供一個訪問它的全局訪問點。

這就是單例模式的第2點要求,如例子中的GetInstance();具體實現,代碼很簡單,相信大家都能看懂。

public sealed class IndexManager
    {
        #region 單例模式之餓漢模式 能保證了在整個應用程序運行周期只創建一次實例(GetInstance方法來獲得實例instance)
        private readonly static IndexManager instance = new IndexManager();
        private IndexManager()
        { 
        
        }
        /// <summary>
        /// 整個單例模式的全局訪問點
        /// </summary>
        /// <returns></returns>
        public static IndexManager GetInstance()
        {
            return instance;
        }
        #endregion
        
        public void Test()
        {...}  
}

2、設計表的時候,Id設置為GUID類型比自增長類型 在數據插入的時候要來得速度快。

因為自增長還要在先去統計原有的數據量,再加上鎖,去更新。對於一些非關系型表的設計中,可以考慮用GUID類型的主鍵Id。

如:搜索模塊中的關鍵詞統計。

3、Quarzt簡介,第三方定時任務框架

tip:日積月累,小知識也能構建成一份不錯的談資。玩笑了,慢慢更新,日常能夠用到,又不是很容易引起大家注意的點,爭取都放到本文中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved