筆試題(const 和 static readonly)
const 和 static readonly 區(qū)別?
答:const
用 const 修飾符聲明的成員叫常量,是在編譯期初始化并嵌入到客戶端程序
static readonly用 static readonly 修飾符聲明的成員依然是變量,只不過具有和常量類似的使用方法:通過類進行訪問、初始化后不可以修改。但與常量不同的是這種變量是在運行期初始化
示例:
測試類:using System;using System.Collections.Generic;using System.Text; namespace Example02Lib{ public class Class1 { public const String strConst = "Const"; public static readonly String strStaticReadonly = "StaticReadonly"; //public const String strConst = "Const Changed"; //public static readonly String strStaticReadonly = "StaticReadonly
Changed"; }} 客戶端代碼:using System;using System.Collections.Generic;using System.Text;using Example02Lib; namespace Example02{ class Program { static void Main(string[] args) { //修改Example02中Class1的strConst初始值后,只編譯Example02Lib項目 //然后到資源管理器里把新編譯的Example02Lib.dll拷貝Example02.exe所在的.目錄,
執(zhí)行Example02.exe //切不可在IDE里直接調試運行因為這會重新編譯整個解決方案!! //可以看到strConst的輸出沒有改變,而strStaticReadonly的輸出已經改變 //表明Const變量是在編譯期初始化并嵌入到客戶端程序,而StaticReadonly是在運行時初始化的 Console.WriteLine("strConst : {0}", Class1.strConst); Console.WriteLine("strStaticReadonly : {0}", Class1.strStaticReadonly); Console.ReadLine(); } }}結果:
strConst : Const
strStaticReadonly : StaticReadonly
修改后的示例:
測試類:
using System;using System.Collections.Generic;using System.Text; namespace Example02Lib{ public class Class1 { //public const String strConst = "Const"; //public static readonly String strStaticReadonly = "StaticReadonly"; public const String strConst = "Const Changed"; public static readonly String strStaticReadonly = "StaticReadonly Changed"; }}結果
strConst : Const
strStaticReadonly : StaticReadonly Changed
【筆試題(const 和 static readonly)】相關文章:
理解PHP5中static和const關鍵字的差別11-14
華為2017筆試題08-16
360筆試題目10-20
Javascript中設立對象的ReadOnly屬性11-22
華為2017筆試試題08-10
桂林銀行筆試題筆經10-21
不同美甲筆的保養(yǎng)和清洗方法10-07
硬筆書法和軟筆書法的差別09-24
QMS2007筆試審核知識模擬試題11-02