最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年09月22日 10:08:07   投稿:shichen2014  
這篇文章主要介紹了C#靜態(tài)方法與非靜態(tài)方法,重點講述了靜態(tài)方法的實際應(yīng)用,有助于進(jìn)一步加深對C#程序設(shè)計的理解,需要的朋友可以參考下

本文實例分析了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í)有所幫助。

相關(guān)文章

  • PHP static局部靜態(tài)變量和全局靜態(tài)變量總結(jié)

    PHP static局部靜態(tài)變量和全局靜態(tài)變量總結(jié)

    使用靜態(tài)局部變量的原因是它不能被外部使用,但是它的值依然在沒此使用后保留。雖然使用全局變量可以實現(xiàn)相同的功能,但是它經(jīng)常會造成意外
    2014-03-03
  • 淺談如何提高PHP代碼質(zhì)量之單元測試

    淺談如何提高PHP代碼質(zhì)量之單元測試

    最常見的測試軟件的方法可能是編寫單元測試。它們的目的是測試代碼的特定單元,基于這樣的假設(shè):一切都按預(yù)期運行。為了能夠編寫適當(dāng)?shù)膯卧獪y試,我們的代碼應(yīng)該遵循一些基本的設(shè)計規(guī)則。我們應(yīng)該特別關(guān)注 SOLID 原則。
    2021-05-05
  • ThinkPHP基于think-queue的隊列插件實現(xiàn)消息推送

    ThinkPHP基于think-queue的隊列插件實現(xiàn)消息推送

    think-queue是ThinkPHP官方提供的一個消息隊列服務(wù),是專門支持隊列服務(wù)的擴(kuò)展包。think-queue消息隊列適用于大并發(fā)或返回結(jié)果時間比較長且需要批量操作的第三方接口,可用于短信發(fā)送、郵件發(fā)送、APP推送。
    2022-12-12
  • PHP編碼轉(zhuǎn)換函數(shù) 自動轉(zhuǎn)換字符集支持?jǐn)?shù)組轉(zhuǎn)換

    PHP編碼轉(zhuǎn)換函數(shù) 自動轉(zhuǎn)換字符集支持?jǐn)?shù)組轉(zhuǎn)換

    當(dāng)我們在接受未知客戶端提交的數(shù)據(jù),由于各客戶端的編碼不統(tǒng)一,但在我們的服務(wù)器端最終只能以一種編碼方式來處理,這種情況下就會涉及到編碼轉(zhuǎn)換問題
    2012-12-12
  • PHP strlen()函數(shù)用法詳解

    PHP strlen()函數(shù)用法詳解

    PHP中的strlen()函數(shù)用于獲取字符串的長度,即字符串字符的個數(shù),并返回該字符串中字符的數(shù)量,這個函數(shù)不考慮字符的編碼,只計算字符的個數(shù),本文就給大家詳細(xì)說說PHP strlen()函數(shù)的使用方法
    2023-07-07
  • php獲得當(dāng)前的腳本網(wǎng)址

    php獲得當(dāng)前的腳本網(wǎng)址

    這篇文章介紹了php獲得當(dāng)前的腳本網(wǎng)址的方法,通過php服務(wù)器變量$_SERVER的簡單判斷、轉(zhuǎn)換與輸出,實現(xiàn)獲取當(dāng)前網(wǎng)址的功能,需要的朋友可以參考一下
    2007-12-12
  • PHP獲取MAC地址的函數(shù)代碼

    PHP獲取MAC地址的函數(shù)代碼

    獲取網(wǎng)卡的MAC地址原碼;目前支持WIN/LINUX系統(tǒng) 獲取機(jī)器網(wǎng)卡的物理(MAC)地址
    2011-09-09
  • 功能強(qiáng)大的PHP圖片處理類(水印、透明度、旋轉(zhuǎn))

    功能強(qiáng)大的PHP圖片處理類(水印、透明度、旋轉(zhuǎn))

    這篇文章主要匯總介紹了php圖片處理類(水印、透明度、縮放、銳化),非常的簡單實用,有需要的小伙伴可以參考下
    2015-10-10
  • PHP對象相關(guān)知識總結(jié)

    PHP對象相關(guān)知識總結(jié)

    這篇文章主要介紹了PHP對象相關(guān)知識總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • MayFish PHP的MVC架構(gòu)的開發(fā)框架

    MayFish PHP的MVC架構(gòu)的開發(fā)框架

    MayFish,一款PHP的MVC架構(gòu)的開發(fā)框架。小巧精煉。歡迎大家測試和使用,歡迎大家對他的發(fā)展提出更好的建議。
    2009-08-08

最新評論

珠海市| 九龙城区| 徐汇区| 龙门县| 宁阳县| 石台县| 禹城市| 琼结县| 长泰县| 循化| 枞阳县| 北安市| 且末县| 司法| 潍坊市| 东明县| 西昌市| 海口市| 临汾市| 老河口市| 阿勒泰市| 饶平县| 涪陵区| 吉木乃县| 汉沽区| 临潭县| 塔河县| 阜城县| 玛沁县| 广昌县| 壶关县| 宣威市| 尼木县| 巫山县| 南和县| 天等县| 滦南县| 惠来县| 宣武区| 永吉县| 大洼县|