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#中SortedList的用法
- C#正则表达式Regex类的用法
- C#验证身份证号码
- C# volatile与lock
- C# 文件压缩与解压
- C#压缩图片不失真
- C#中抽象类和接口的区别有哪些
- C# this扩展方法
- 数据库字段类型对应C#数据类型
- C# Directory类的操作
- C#中static静态变量的用法
- C#中Nullable<T>
- c#中list排序
- C#中ICollection介绍
- C#选择排序
- c#中SqlBulkCopy的使用
- 毛戈平全国第一柜花落银泰 高端国货迎来 高光 时刻(毛戈平全国第一柜花落银泰)
- 14岁丧父 20岁丧母,从苦难走向辉煌的银泰创始人沈国军(14岁丧父20岁丧母从苦难走向辉煌的银泰创始人沈国军)
- 银泰集团董事长沈国军获评 北京影响力 十大企业家(银泰集团董事长沈国军获评)
- 15帅气男士发型,清爽时尚很有型,喜欢就试试(清爽时尚很有型)
- 哪几个历史人物被影协主席李雪健演的活灵活现(哪几个历史人物被影协主席李雪健演的活灵活现)
- 王伦狭隘,晁盖霸道,宋江奸诈骨头软,只有鲁智深才适合当寨主(王伦狭隘晁盖霸道)
热门推荐
- jquery中unbind、bind
- navicat如何连接服务器的数据库(Navicat如何远程连接云服务器数据库)
- filezilla服务器支持断点续传吗(Filezilla Server配置FTP服务器提示操作超时的解决办法)
- sql中去除重复记录的关键字(sqlserver查询去掉重复数据的实现)
- 在php中遍历数组使用(PHP读取远程txt文档到数组并实现遍历)
- php中类的属性含义(php类中static与self的使用区别浅析)
- linux怎么上传windows的文件(Windows本地环境和Linux腾讯云服务器之间传输文件的方法)
- javascript基础语法和用法(JavaScript中new操作符的原理示例详解)
- dedecms5.7使用教程(dedecms v5.7提示php.ini register_globals must is Off错误的解决方法)
- 宝塔面板腾讯云服务器安装流程(腾讯云服务器安装宝塔面板图文教程)