C#中readonly常量的作用是什么

今天就跟大家聊聊有關(guān)C# 中readonly常量的作用是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供武義網(wǎng)站建設(shè)、武義做網(wǎng)站、武義網(wǎng)站設(shè)計、武義網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、武義企業(yè)網(wǎng)站模板建站服務(wù),十載武義做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

C#語言還是比較常見的東西,這里我們主要介紹C# readonly常量,包括介紹readonly和const都是用來標(biāo)識常量等方面。

readonly和const都是用來標(biāo)識常量的。

const可用于修飾class的field或者一個局部變量(local variable);而readonly僅僅用于修飾class的field。

const常量的值必定在編譯時就已明確并且恒定的;而C# readonly常量卻有一點不同,那就是其值可以在運行時編譯,當(dāng)然,它也必須遵守作為常量的約束,那就是值必須恒定不變。

const常量必須在聲明的同時對其進(jìn)行賦值,并且確保該值在編譯時可確定并恒定;而C# readonly常量則可以根據(jù)情況選擇在聲明的同時對其賦予一個編譯時確定并恒定的值,或者將其值的初始化工作交給實例構(gòu)造函數(shù)(instant constructor)完成。如:public readonly string m_Now = DateTime.Now.ToString();,m_Now會隨著運行時實際情況變化而變化。

const常量屬于類級別(class level)而不是實例對象級別(instant object level),并且它不能跟static結(jié)合一起使用,該常量的值將由整個類的所有實例對象共同分享(詳細(xì)論述參見后面的Remark區(qū)域)。

C# readonly常量既可以是類級別也可以是實例對象級別的,這取決于它的聲明以及初始化工作怎么實施。readonly可以與static結(jié)合使用,用于指定該常量屬于類級別,并且把初始化工作交由靜態(tài)構(gòu)造函數(shù)(static constructor)完成(有關(guān)如何把C# readonly常量聲明為類級別或?qū)嵗龑ο蠹墑e的論述清參見后面的Remark區(qū)域) 。

能被const修飾聲明為常量的類型必須是以下的基元類型(primitive type):sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, float, bool, decimal, string。

object, 數(shù)組(Array)和結(jié)構(gòu)(struct)不能被聲明為const常量。

一般情況下,引用類型是不能被聲明為const常量的,不過有一個例外:string。該引用類型const常量的值可以有兩種情況,string或null。其實,string雖然是引用類型,但是.NET卻對它特別處理,這種處理叫做字符串恒定性(immutable),使得string的值具有只讀特性。

using System;  public class Order  {  public Order()  {  Guid guid = Guid.NewGuid();  ID = guid.ToString("D");  }   // 對于每一份訂單,其訂單序號都是實時確定的常量。 style="color: #008000;"> public readonly string ID;   public override string ToString()  {  return "Order ID: " + ID;  }  }

看完上述內(nèi)容,你們對C# 中readonly常量的作用是什么有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)頁標(biāo)題:C#中readonly常量的作用是什么
網(wǎng)站地址:http://muchs.cn/article24/ihsdje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、品牌網(wǎng)站制作網(wǎng)站維護(hù)、品牌網(wǎng)站建設(shè)關(guān)鍵詞優(yōu)化、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站