C#只读属性(readOnly)与静态非静态赋值区别

 只读属性:都可以在初始化的时候赋值
 只读静态的属性只能在静态构造函数里面触发
 只读非静态的属性在非静态的构造函数里面赋值

const 默认是静态的常量 只能在初始化赋值
readOnly 可以初始化赋值 也可以对应的构造函数中赋值 可以定义成静态也可以定义成非静态的

静态方法中不能使用this.
  1 非静态的属性通过对象.属性使用 只能在非静态函数中 例如 Readious属性不能使用静态的构造函数
   2 静态的属性可以使用在非静态的方法中,也可以使用在非静态方法中

无参数构造函数

静态的只读不能在非静态的构造函数中使用

注:我们上面的Age是常量 常量是不能被修改的只能在初始化时修改(常量不能被修改)

有参数构造函数

静态的构造函数不允许出现修饰符

静态的构造函数,第一次使用静态变量 或着第一次实例化这个类对象时候执行并且执行一次

注:在静态方法里不能使用this关键字

在Main调用方法:

运行结果如下:

总结 

不管只读的静态和非静态都不能在外面赋值

静态方法中不能使用this.

 非静态的属性通过对象.属性使用 只能在非静态函数中 例如 Readious属性不能使用静态的构造函数

静态的属性可以使用在非静态的方法中,也可以使用在非静态方法中

const 默认是静态的常量 只能在初始化赋值

readOnly 可以初始化赋值 也可以对应的构造函数中赋值 可以定义成静态也可以定义成非静态的

                                            每天进步一点点 每日成长一点点

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值