C# .NET Quiz: const vs. readonly

来源:互联网 发布:ps怎么制作淘宝店招 编辑:程序博客网 时间:2024/06/06 01:58

关于C#中的constreadonly想必使用C# .NET开发的朋友都很了解吧?总结一下constreadonly也就这么几条吧:

  1. constreadonly的值一旦初始化则都不再可以改写;
  2. const只能在声明时初始化;readonly既可以在声明时初始化也可以在构造器中初始化;
  3. const隐含static,不可以再写static constreadonly则不默认static,如需要可以写static readonly
  4. const编译期静态解析的常量(因此其表达式必须在编译时就可以求值);readonly则是运行期动态解析的常量;
  5. const既可用来修饰类中的成员,也可修饰函数体内的局部变量;readonly只可以用于修饰类中的成员

前面几条也没什么可说的,不过关于这第4条,里面还是有些文章可做的。试试下面的例子,看看是否与你所想一致吧!笑脸

 

0. 常量与静态只读变量类库(文件名Consts.cs

public class Consts
{
? public const string Const = "const";
? public static readonly string Readonly = "readonly";
}

执行csc /t:library Consts.cs编译输出Consts.dll

1. 客户端(文件名Quiz.cs,编译选项/r:Consts.dll

public class Quiz
{
? public static void Main()
? {
??? System.Console.WriteLine(Consts.Const);
????System.Console.WriteLine(Consts.Readonly);

? }
}

执行csc Quiz.cs编译输出Quiz.exe.

2. 执行Quiz.exe,输出如下:

const
readonly

3. 现在把Consts.cs里面的两个常量的值都换成大写并重新编译Consts.csQuiz.exe不变,仍是引用Consts.dll)。再执行Quiz.exe,输出会是……什么呢?

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 瑜伽扭转时手抓不到脚怎么办 练瑜伽腿部太硬怎么办 褶皱衣服不紧了怎么办 吃撑了肚子涨怎么办 正好压本科线该怎么办 大脚趾被砸了怎么办 脊柱侧弯每天疼怎么办 内衣扣的位置脊柱疼怎么办 练完瑜伽颈椎疼怎么办 乳胶枕头太高了怎么办 枕头太高脖子痛怎么办 颈椎突出症状缓解后怎么办 外痔疼的的历害怎么办 小肚子疼得历害怎么办 练瑜伽伤到颈椎怎么办 鼻子干口干胃烧怎么办 颈椎病压迫神经引起手麻怎么办 4个月婴儿睡觉少怎么办 晚上睡觉睡不好老是醒来怎么办 吃了没熟的香蕉怎么办 70岁父母老吵架怎么办 怀孕七个月晚上睡不着怎么办 九个月宝宝睡眠不好怎么办 一个月的宝宝放不下怎么办 宝宝被吓了发烧怎么办 体内火气重睡不着觉怎么办 宝宝睡觉一直翻身发出声音怎么办 严重失眠怎么办整夜睡不着觉 腿疼得睡不着觉怎么办 19岁晚上睡不着该怎么办 工作累的想哭怎么办 心累迷茫想哭怎么办 白天很累晚上又睡不着怎么办 发型睡觉压乱了怎么办 通宵一夜第二天怎么办 夏天了腿脚还凉怎么办 咖啡色三天了月经还是下不来怎么办 睡觉姿势不对腰疼怎么办 来月经吃了香瓜怎么办 减肥期间晚上有饭局怎么办 减肥期间遇到晚上聚餐怎么办