一颗不安分的创业心

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;
        }
    }
posted @ 2009-07-28 15:21  pangxiaoliang[北京]流浪者  阅读(202)  评论(0编辑  收藏  举报
小豆芽之父