色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

C#靜態(tài)方法與非靜態(tài)方法實例分析

本文實例分析了C#靜態(tài)方法與非靜態(tài)方法,并對其用法進(jìn)行了較為全面的分析。分享給大家供大家參考。具體分析如下:

通常來說,C#的類中可以包含兩種方法:靜態(tài)方法和非靜態(tài)方法。

使用了static 修飾符的方法為靜態(tài)方法,反之則是非靜態(tài)方法

靜態(tài)方法是一種特殊的成員方法,它不屬于類的某一個具體的實例,而是屬于類本身。所以對靜態(tài)方法不需要首先創(chuàng)建一個類的實例,而是采用 類名.靜態(tài)方法 的格式 。

1)static方法是類中的一個成員方法,屬于整個類,即不用創(chuàng)建任何對象也可以直接調(diào)用。
static內(nèi)部只能出現(xiàn)static變量和其他static方法,而且static方法中還不能使用this等關(guān)鍵字,因為它是屬于整個類。

2)靜態(tài)方法效率上要比實例化高,靜態(tài)方法的缺點是不自動進(jìn)行銷毀,而實例化的則可以做銷毀。

3)靜態(tài)方法和靜態(tài)變量創(chuàng)建后始終使用同一塊內(nèi)存,而使用實例的方式會創(chuàng)建多個內(nèi)存。

4)那么在程序中什么地方可以利用靜態(tài)字段和靜態(tài)構(gòu)造方法,通常適用于于一些不會經(jīng)常變化而又頻繁使用的數(shù)據(jù),比如連接字符串,配置信息等,當(dāng)滿足上面所說的兩點時,進(jìn)行一次讀取,以后就可以方便的使用了,同時也節(jié)約了托管資源,因為對于靜態(tài)成員,一個靜態(tài)字段只標(biāo)識一個存儲位置。對一個類無論創(chuàng)建了多少個實例,它的靜態(tài)字段永遠(yuǎn)都只有一個副本。

靜態(tài)成員存在于內(nèi)存,非靜態(tài)成員需要實例化才會分配內(nèi)存,所以靜態(tài)成員不能訪問非靜態(tài)的成員。因為靜態(tài)成員存在于內(nèi)存,所以非靜態(tài)成員可以直接訪問類中靜態(tài)的成員。公用的處理函數(shù),使用靜態(tài)方法應(yīng)該沒有問題,牽涉到數(shù)據(jù)共享,靜態(tài)變量的函數(shù)要多考慮,靜態(tài)變量要小心使用。

靜態(tài)方法:
原理就是共享代碼段;
共享代碼段不會產(chǎn)生任何問題;
因為代碼段都是給CPU作為"讀取"用的,除非你進(jìn)行惡意"修改"運行時的代碼段;
所以靜態(tài)方法是可以放心使用的;

靜態(tài)變量:
原理就是共享數(shù)據(jù)段;
只要沒有進(jìn)行"寫入"操作就不會產(chǎn)生問題,但是數(shù)據(jù)通常都是用于讀和寫,所以靜態(tài)變量要注意使用;

下面是一個使用靜態(tài)方法的簡單例子:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) {  int i = MyClass.Add(7, 11); //調(diào)用靜態(tài)方法  Console.WriteLine(i);  Console.ReadKey(); } } class MyClass { public static int Add(int x, int y) {  return x + y; } }}
輸出結(jié)果:18

希望本文所述對大家C#程序設(shè)計的學(xué)習(xí)有所幫助。

php技術(shù)C#靜態(tài)方法與非靜態(tài)方法實例分析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 白山市| 永福县| 丹巴县| 临沭县| 陆河县| 含山县| 湄潭县| 巴彦淖尔市| 天水市| 陵川县| 临颍县| 西吉县| 庄河市| 咸宁市| 阿拉善盟| 祁东县| 大洼县| 临清市| 平泉县| 安吉县| 扎兰屯市| 深水埗区| 尉犁县| 荣昌县| 都昌县| 锡林郭勒盟| 崇义县| 绍兴市| 永登县| 马公市| 义马市| 民勤县| 杭州市| 旬邑县| 新巴尔虎右旗| 吉木乃县| 绥芬河市| 从化市| 白水县| 聂拉木县| 渭南市|