博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#关键字 const与readonly
阅读量:5901 次
发布时间:2019-06-19

本文共 683 字,大约阅读时间需要 2 分钟。

====const====

来声明某个常量字段或常量局部变量。常量字段和常量局部变量不是变量而且不能修改。常量可以为数字、布尔值、字符串或null引用。

常数声明的类型指定声明引入的成员类型。常量局部变量或常量字段的初始值设定项必须是一个可以隐式转换为目标类型的常量表达式。

常数表达式是编译时可被完全计算的表达式。因此,对于引用类型的常数,可能的值只能是string和null。

不允许在常数声明中使用static修饰符。

====readonly====

是一个可在三个上下文中使用的修饰符:

  在字段声明中,readonly指示只能在声明期间或在同一类的构造函数中向字段赋值。

  在readonly struct定义中,readonly指示struct是不可变的。(c#7.2添加)

  在ref readonly方法返回中,readonly修饰符指示该方法返回一个引用,且不允许向该引用写入内容。(c#7.2添加)

====const 与 readonly====

  const字段只能在该字段的声明中初始化。可以在字段声明和任何构造函数中多次分配readonly字段。因此,根据所使用的构造函数,randonly字段可能具有不同的值。另外,虽然const字段是编译时常量,但readonly字段可用于运行时常量。

  public static readonly uint timeStamp = (uint)DateTime.Now.Ticks;

 

转载于:https://www.cnblogs.com/az4215/p/10811282.html

你可能感兴趣的文章
VM14安装Mas os 13
查看>>
PAT (Advanced Level) 1101. Quick Sort (25)
查看>>
CDOJ 1273 God Qing's circuital law
查看>>
c#学习之windows phone 以及windows app的开发
查看>>
Team Project Proposal:App:等车时间预测(重写) -- by DengPan
查看>>
[BZOJ] 2660 [Beijing wc2012]最多的方案
查看>>
ASP.NET Core学习零散记录
查看>>
动态HTML处理和机器图像识别-----动态HTML介绍
查看>>
Starling 2D框架简介(一)
查看>>
记一次app内嵌h5
查看>>
一个前后端分离方案[转载]
查看>>
java编程感悟01
查看>>
springboot中Properties注解的实现
查看>>
黑马程序员--异常练习
查看>>
Python语法
查看>>
mongodb的基本使用
查看>>
NOIP2014 day2 t2 寻找道路
查看>>
Quartz总结(二):定时任务中使用业务类(XXService)
查看>>
Oracle 左连接、右连接、全外连接、(+)号作用
查看>>
最大势算法
查看>>