• C#基础readonly 与const


    readonly 与 const
    readonly是运行时常量,const是编译期常量(在编译过程中已经把使用该值的都用值替代,不分配内存)readonly灵活性高,const效率高
    readonly 可以修饰任何类型的常量,包括自定义类,const则只能修饰基元类型,枚举类型及字符串(const MyClass myClass 则错误写法)
    用const修饰的则不能加static 修饰,编译期本来就是静态常量

    readonly 可以在构造函数内对其多次赋值

    public class Mouse
    {
    public readonly int ReadOnlyValue = 100;
    public Mouse(int readonlyvalue)
    {
    ReadOnlyValue = readonlyvalue;//是正确的写法,可以多次赋值
    }
    }

    Mouse mouse = new Mouse(300);//正确
    mouse.ReadOnlyValue = 400;//错误

    public class Mouse
    {
    public readonly Cat ReadOnlyValue = new Cat() { catValue = 100 };
    public Mouse(Cat cat)
    {
    ReadOnlyValue = cat;
    }
    }
    readonly对引用类型修饰的话,是不能再指向其他的实例,但可以对指向的引用实例值时可以改变的
    Mouse mouse = new Mouse(new Cat() { catValue = 300 });
    mouse.ReadOnlyValue.catValue = 400;//正确
    mouse.ReadOnlyValue = new Cat() { catValue = 500 };//错误

    Cat cat = new Cat() { catValue = 500 };
    mouse.ReadOnlyValue.catValue = cat.catValue;//正确

  • 相关阅读:
    戴德金分割第6页
    自己总结的学习方法
    自己总结的选股方法和建仓方法
    自编通达信公式集合
    电脑目录设置
    1·0天内跳空缺口的公式
    springsecurity
    java开发 日志框架选择
    javaFramwork title
    idea git忽略文件
  • 原文地址:https://www.cnblogs.com/JohnnyBao/p/4955983.html
Copyright © 2020-2023  润新知