青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 195,  comments - 30,  trackbacks - 0

原文地址:http://tech.e800.com.cn/articles/2009/62/1243906342108_1.html

C#中有兩種常量類型,分別為readonly(運(yùn)行時(shí)常量)與const(編譯時(shí)常量),本文將就這兩種類型的不同特性進(jìn)行比較并說(shuō)明各自的適用場(chǎng)景。

工作原理
    readonly為運(yùn)行時(shí)常量,程序運(yùn)行時(shí)進(jìn)行賦值,賦值完成后便無(wú)法更改,因此也有人稱其為只讀變量。
    const為編譯時(shí)常量,程序編譯時(shí)將對(duì)常量值進(jìn)行解析,并將所有常量引用替換為相應(yīng)值。
    下面聲明兩個(gè)常量:

public static readonly int A = 2 ; // A為運(yùn)行時(shí)常量
public const int B = 3 ; // B為編譯時(shí)常量

     下面的表達(dá)式:

int C = A + B;

    經(jīng)過(guò)編譯后與下面的形式等價(jià):

int C = A + 3 ;

    可以看到,其中的const常量B被替換成字面量3,而readonly常量A則保持引用方式。

聲明及初始化
    readonly常量只能聲明為類字段,支持實(shí)例類型或靜態(tài)類型,可以在聲明的同時(shí)初始化或者在構(gòu)造函數(shù)中進(jìn)行初始化,初始化完成后便無(wú)法更改。
    const常量除了可以聲明為類字段之外,還可以聲明為方法中的局部常量,默認(rèn)為靜態(tài)類型(無(wú)需用static修飾,否則將導(dǎo)致編譯錯(cuò)誤),但必須在聲明的同時(shí)完成初始化。

數(shù)據(jù)類型支持
    由于const常量在編譯時(shí)將被替換為字面量,使得其取值類型受到了一定限制。const常量只能被賦予數(shù)字(整數(shù)、浮點(diǎn)數(shù))、字符串以及枚舉類型。下面的代碼無(wú)法通過(guò)編譯:

public const DateTime D = DateTime.MinValue;

    改成readonly就可以正常編譯:

public readonly DateTime D = DateTime.MinValue;


可維護(hù)性
    readonly以引用方式進(jìn)行工作,某個(gè)常量更新后,所有引用該常量的地方均能得到更新后的值。
    const的情況要稍稍復(fù)雜些,特別是跨程序集調(diào)用:

public class Class1
{
     public static readonly int A = 2 ; // A為運(yùn)行時(shí)常量
     public const int B = 3 ; // B為編譯時(shí)常量
}

public class Class2
{
     public static int C = Class1.A + Class1.B; // 變量C的值為A、B之和
}

Console.WriteLine(Class2.C); // 輸出"5"

    假設(shè)Class1與Class2位于兩個(gè)不同的程序集,現(xiàn)在更改Class1中的常量值:

public class Class1
{
     public static readonly int A = 4 ; // A為運(yùn)行時(shí)常量
     public const int B = 5 ; // B為編譯時(shí)常量
}

    編譯Class1并部署(注意:這時(shí)并沒有重新編譯Class2),再次查看變量C的值:

Console.WriteLine(Class2.C); // 輸出"7"

    結(jié)果可能有點(diǎn)出乎意料,讓我們來(lái)仔細(xì)觀察變量C的賦值表達(dá)式:

public static int C = Class1.A + Class1.B;

    編譯后與下面的形式等價(jià):

public static int C = Class1.A + 3 ;

    因此不管常量B的值如何變,對(duì)最終結(jié)果都不會(huì)產(chǎn)生影響。雖說(shuō)重新編譯Class2即可解決這個(gè)問(wèn)題,但至少讓我們看到了const可能帶來(lái)的維護(hù)問(wèn)題。

性能比較
    const直接以字面量形式參與運(yùn)算,性能要略高于readonly,但對(duì)于一般應(yīng)用而言,這種性能上的差別可以說(shuō)是微乎其微

posted on 2011-03-07 16:06 luis 閱讀(230) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


<2011年3月>
272812345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用鏈接

留言簿(3)

隨筆分類

隨筆檔案

文章分類

文章檔案

友情鏈接

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            在线一区二区日韩| 欧美手机在线| 免费在线成人| 欧美一级视频一区二区| 国产精品99久久久久久人 | 欧美影片第一页| 午夜精品短视频| 欧美一级二级三级蜜桃| 久久九九精品| 欧美精品在线免费播放| 欧美日韩国产黄| 国产免费观看久久| 亚洲国产精品久久久| 一本色道久久88综合日韩精品| 亚洲一线二线三线久久久| 久久国产精品久久久| 亚洲电影网站| 亚洲三级免费| 香蕉久久精品日日躁夜夜躁| 久久久亚洲欧洲日产国码αv | 亚洲第一伊人| 一区二区电影免费在线观看| 性欧美18~19sex高清播放| 久久精品麻豆| 亚洲欧洲精品一区二区精品久久久| 免费视频一区二区三区在线观看| 日韩午夜中文字幕| 午夜亚洲性色视频| 欧美chengren| 亚洲亚洲精品在线观看 | 在线综合+亚洲+欧美中文字幕| 欧美一区二区三区在线| 国产欧美一区二区精品秋霞影院 | 亚洲一区二区不卡免费| 国产欧美日韩一区| 亚洲精品乱码久久久久久久久| 亚洲视频一区| 欧美激情片在线观看| 亚洲欧美日韩在线播放| 欧美国产在线电影| 伊人色综合久久天天五月婷| 亚洲欧美日产图| 亚洲精品偷拍| 欧美国产一区视频在线观看| 在线成人免费观看| 欧美一区二区视频观看视频| 亚洲精品一二三区| 欧美国产另类| 亚洲国产一区二区三区a毛片 | 欧美在线不卡| 99天天综合性| 欧美黄污视频| 亚洲激情另类| 久久综合伊人77777尤物| 亚洲午夜精品17c| 欧美日韩精品不卡| 亚洲精品久久视频| 欧美国产精品v| 久久免费99精品久久久久久| 国产日韩精品入口| 欧美在线www| 欧美一区二区三区的| 国产精品自拍网站| 欧美综合激情网| 午夜久久影院| 国产综合色一区二区三区| 欧美亚洲免费电影| 午夜精品久久久久久久99水蜜桃 | 最新日韩在线视频| 欧美成人精品三级在线观看 | 美女视频黄 久久| 国内一区二区三区| 久久深夜福利免费观看| 久久久av水蜜桃| 亚洲第一二三四五区| 欧美激情一区二区三区在线视频观看| 久久天天躁狠狠躁夜夜爽蜜月 | 欧美日韩亚洲三区| 亚洲无玛一区| 亚洲女同同性videoxma| 国产偷久久久精品专区| 久久久久国产精品一区三寸| 久久国产一区二区| 91久久久久久久久| 日韩视频在线播放| 国产欧美一级| 亚洲福利国产精品| 国产精品久久久久久久久免费樱桃 | 欧美日本三级| 亚洲欧美美女| 久久久久欧美精品| 99国产精品99久久久久久粉嫩 | 久久精品在线播放| 亚洲精品一区二区三区不| 国产精品久久久久国产a级| 欧美在线亚洲| 免费成人av| 午夜精品视频在线观看| 久久一区二区三区四区| 一区二区三区欧美在线观看| 亚洲综合精品| 亚洲精品极品| 午夜一级在线看亚洲| 日韩视频精品在线观看| 欧美一级大片在线免费观看| 9色精品在线| 久久夜色精品国产| 欧美一区不卡| 欧美日韩卡一卡二| 欧美波霸影院| 国产一区二区三区久久 | 欧美女主播在线| 久久久噜噜噜久久久| 玖玖玖国产精品| 午夜精品久久久久| 欧美激情久久久久久| 久久久久看片| 国产欧美精品国产国产专区| 亚洲精品久久久久久久久| 一区二区在线观看视频在线观看| 日韩午夜在线视频| 亚洲看片一区| 美女黄色成人网| 狂野欧美激情性xxxx| 国产日韩欧美综合精品| 亚洲婷婷综合久久一本伊一区| 亚洲另类自拍| 欧美成人四级电影| 亚洲成色精品| 亚洲黄色性网站| 巨胸喷奶水www久久久免费动漫| 久久九九99视频| 国产日韩在线看| 翔田千里一区二区| 午夜久久一区| 国产精品丝袜白浆摸在线| 99精品国产高清一区二区 | 亚洲日本一区二区| 蜜臀av国产精品久久久久| 久久一二三国产| 狠狠色狠狠色综合人人| 欧美一区成人| 久久一区视频| 在线 亚洲欧美在线综合一区| 性一交一乱一区二区洋洋av| 欧美一区国产在线| 免费观看在线综合| 欧美福利一区二区| 136国产福利精品导航网址应用 | 国产精品99久久不卡二区| 一区二区高清视频在线观看| 欧美日韩另类综合| 亚洲色图制服丝袜| 欧美在线www| 在线观看av一区| 欧美不卡高清| 一本色道88久久加勒比精品| 亚洲影院色无极综合| 国产老肥熟一区二区三区| 欧美在线观看天堂一区二区三区| 久久精品网址| 亚洲国产精品99久久久久久久久| 你懂的视频欧美| 9色精品在线| 久久久综合免费视频| 亚洲激情二区| 国产精品视频精品视频| 久久久久久久久久久久久久一区| 亚洲电影自拍| 性色一区二区| 亚洲三级性片| 国产欧美日韩精品a在线观看| 久久九九免费视频| 亚洲精品中文字幕在线观看| 亚洲欧美视频在线观看| 伊人久久大香线| 欧美日韩免费一区二区三区视频| 亚洲一区精品在线| 久久综合色影院| 亚洲午夜精品17c| 精品成人在线视频| 国产精品久久久91| 欧美国产一区二区在线观看| 9i看片成人免费高清| 好吊色欧美一区二区三区四区 | 久久在线免费观看视频| 日韩亚洲欧美高清| 国产一区三区三区| 欧美日韩精品免费在线观看视频| 小处雏高清一区二区三区| 日韩一级黄色av| 美日韩精品免费| 欧美与黑人午夜性猛交久久久| 日韩网站免费观看| 怡红院精品视频| 韩国一区二区三区美女美女秀| 国产精品qvod| 欧美日韩精品在线播放| 欧美激情精品久久久久久久变态 | 亚洲一区二区三区中文字幕|