C#细节之const&readonly

const是常量,readonly是只读,“博客园er”都知道:)
那么他们的区别是什么那?个人总结如下:
一、赋值
1)const修饰的变量在定义时必须赋初值,其他位置不容许改变变量值;
2)readonly修饰的变量可以在定义时赋值也可以在构造函数中赋值,其他位置不容许改变变量值。
二、调用
1)const修饰的变量需要用类名来调用如同static成员一样。
2)readonly修饰的变量需要用对象来调用。
三、代码
例:
public class ConstReadOnly
    {
        //public const string FirstName; //Error:const 定义变量时要初始化
        public const string LastName = "Landpy";
        public readonly string Age = “0”;
        public ConstReadOnly()
        {
            Age = "27";
        }
        public void Deal()
        {
            //Age = "123";//Error:ReadOnly只能在构造函数或定义时赋值
            //LastName = "Peter";//Error:Const只能在定义时赋值
            string Tmp = String.Empty;
            Tmp = ConstReadOnly.LastName;
            //Tmp = ConstReadOnly.Age;//Error:readonly修饰的变量只能用对象调用
            ConstReadOnly constReadOnly = new ConstReadOnly();
            //Tmp = constReadOnly.LastName;//Error:const修饰的变量只能用类名调用
            Tmp = constReadOnly.Age;
        }
    }
敬告

作者:pangxiaoliang
出处:http://www.cnblogs.com/pangxiaoliang
本文版权归pangxiaoliang和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,谢谢合作。
原文地址:https://www.cnblogs.com/pangxiaoliang/p/1530645.html