1. 程式人生 > >C#中 類的成員

C#中 類的成員

C#中類的成員有 方法, 建構函式(解構函式),欄位,屬性;對初學者值得一提的是隻有類和類成員才有訪問修飾符;1,方法。方法又稱函式 類中的方法和正常的方法差不多 只是前面有訪問修飾符,用的時候用物件名點兒出來;靜態的方法不用例項化,非靜態的方法必須例項化,靜態的方法在程式一旦啟動不論是否new其所在類都會駐留記憶體,對系統的佔用相對來說比非靜態的方法佔用大,但是由於其使用方便,呼叫快捷,還是很值得一用的,一般推薦頻繁被呼叫的方法可以考慮使用靜態的,可以提高專案效能。  方法是通過指定 修飾符 返回值型別 方法名稱 引數列表(引數)  方法簽名+方法體下面是根據引數型別將方法進行分類(共5種)
    形參 實參 型別相匹配obj型別(1)值型別引數(2)引用型別引數:比如陣列,一個改變影響另一個(3)out型別引數:出參  必須在引用的函式中賦值(優點 返回多個返回值)只從本函式傳到Main  單向傳遞引數               static void Main(string[] args)//{ int i=0;//不必賦值        //    Add(out  i);        //    Console.WriteLine(i);//static void Add(out int i)        //{        //    i = 100;//必須賦值;        //}        ////out相當於把 i 轉換成引用型別(4)ref型別引數:雙向傳遞引數 帶進 帶出;
static void Main(string[] args)        {            int i = 10;            Add(ref i);            Console.WriteLine(i);        }    static void Add(ref int i)    {        Console .WriteLine (i);    i=100;//不必賦值 因為可以接受main函式的i    }(5)params型別引數:只能用於一維陣列static void Main(string[] args)        {            Add(1, 1, 2, 3, 5, 5325);
        }    static void Add(params int[]arr)    {        foreach (int i in arr)        Console.WriteLine(i);    } static void Main(string[] args)        {int [] arr=new int [3] {1,2,3};            Add(arr);            Add(12, 3);        }    static void Add(params int[]arr)    {        foreach (int i in arr)        Console.WriteLine(i);    }下面是其他的方法(1)分部方法  ,,必須出現在分部類中分部類是partial關鍵定義的,分部類可以分佈在幾個資料夾中的,由多個程式設計師編寫,但很少用!可以有ref 不可以有out 預設訪問修飾符private(2)擴充套件方法   已有的型別加了方法  儘量使用繼承  不使用擴充套件 但string無子類 所以必須擴充套件   靜態類!C中 類的成員 - 風未定 - 風未定的部落格 (3)命名引數  就是在呼叫的時候加“:“ 這樣就可以不顧實參的順序! C中 類的成員 - 風未定 - 風未定的部落格 C中 類的成員 - 風未定 - 風未定的部落格對形實引數名必須相同!(4)可選引數  待更新。。2,訪問修飾符public internal private protect    protect internalpublic 所有都可用internal  專案中可用 exe dll 內private  當前類中 protect   父子類中 繼承中protect internal    protect  和internal的並集3,建構函式(解構函式)建構函式名與類名相同,且沒有返回值!new 的時候就呼叫了建構函式  每個類中都有一個預設的函式建構函式  可以有過載  有參(new的時候可以直接加實參)和無參 C中 類的成員 - 風未定 - 風未定的部落格 建構函式還有 靜態(只可呼叫一次且優先,可以對靜態欄位和只讀欄位賦初值)和非靜態C中 類的成員 - 風未定 - 風未定的部落格 4,欄位。欄位一般都是私有的private 可通過屬性間接set 和get;欄位有constx型的  如果欄位前面有const,呼叫時得用類點出來。且欄位不能改變;readonly的欄位 呼叫用物件呼叫 且可在建構函式中改變;靜態的只讀欄位 可用靜態建構函式賦初值!5,屬性。 C中 類的成員 - 風未定 - 風未定的部落格可只有get或set !  get set可以加修飾符!其中value是代替值!!!!