C#中的readonly和const关键字
类别:编程学习 浏览量:1646
时间:2013-8-14 C#中的readonly和const关键字
C#中的readonly和const关键字
public class MathUtitlity
{
public const double PI = 3.14;
public readonly double E = 2.782;
}
class Program
{
static void Main(string[] args)
{
MathUtitlity math = new MathUtitlity();
math.E = 2.5;//编译错误,不能改变已经初始化的readonly字段
MathUtitlity.PI = 3.1456;//编译错误,不能改变已经初始化的const 字段
}
}
//定义Person,有一个属性:name。
public class ConstReadonly
{
public const string _const="_const";
public readonly Person _readonly;
public ConstReadonly()
{
_readonly = new Person();
}
}
public class Person
{
public string name;
public Person()
{
this.name = "Untitled";
}
public Person(string name)
{
this.name = name;
}
}
class Program
{
static void Main(string[] args)
{
ConstReadonly cr = new ConstReadonly();
Console.WriteLine(cr._readonly.name);
cr._readonly.name = "Changed";
Console.WriteLine(cr._readonly.name);
}
}
//输出结果为:
//Untitled
//Changed
1. const 字段只能在该字段的声明中初始化。 readonly 字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly 字段可能具有不同的值。
2. const 字段是编译时常数,而 readonly 字段可用于运行时常数。
3. const 默认就是静态的,而 readonly 如果设置成静态的就必须显示声明。
4.const 对于引用类型的常数,可能的值只能是 string 和 null。readonly可以是任何类型
您可能感兴趣
- C#中属性的用法
- C# #define条件编译
- C#中==、Equals、ReferenceEquals的区别
- C#中默认参数
- C#快速排序
- C#中BeginInvoke与EndInvoke
- C#中ICollection介绍
- C#中string.format的格式和用法
- C#中ToDictionary,ToLookup
- C#中Serializable序列化
- C#常用的命名规范
- C#中的反射
- C# this扩展方法
- C#中float的取值范围和精度
- c语言获取系统日期函数(C# ling to sql 取多条记录最大时间)
- C#中的readonly和const关键字
- 你只要花上20天记单词,英语成绩就能从57提到100(你只要花上20天记单词)
- 夕云天际飞,亢龙化太极(夕云天际飞亢龙化太极)
- 爱情可以当饭吃吗(怎么回复)
- 高考数学题(高考数学题基础题占多少分)
- 没钱只能吃土(没钱要吃土了幽默短信发朋友圈)
- 今年考高会很难吗(今年高考会考试吗)
热门推荐
- layui触碰提示框(layui禁用侧边导航栏点击事件的处理方法)
- python拖动选择文件操作(python通过paramiko复制远程文件及文件目录到本地)
- mysql主从同步复制原理(MYSQL数据库GTID实现主从复制实现超级方便)
- 云服务器配置怎么设置(新手如何选择云服务器配置)
- 虚拟环境python详细教程(python创造虚拟环境方法总结)
- harborjob设置(harbor修改配置文件后重启操作)
- html5表格设计(Html5饼图绘制实现统计图的方法)
- Linux ls命令的使用(Linux ls命令的使用)
- vue怎么实现倒计时(Vue计时器的用法详解)
- vue使用elementui框架(总结Vue Element UI使用中遇到的问题)