首页 > 学院 > 开发设计 > 正文

C#const与readonly的详细用法

2019-11-14 14:01:59
字体:
来源:转载
供稿:网友

         1.使用const关键字声明常量字段和常量局部变量时,常量字段和常量局部变量不是变量且不能改变。==>常量在程序中是不能改变的,而变量是可以改变的。常量可以为数字、布尔值、字符串或 null 引用。 不要创建常量来表示你需要随时更改的信息。 不允许在常数声明中使用 static 修饰符。

 

        2.readonly 关键字是可以在字段上使用的修饰符。 当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。

        3.const为编译时常量,不能构建复杂的数据类型。readonly为运行时常量,可以构建复杂的数据类型。

      readonly 关键字与 const 关键字不同。 const 字段只能在该字段的声明中初始化。 readonly 字段可以在声明或构造函数中初始化。 因此,根据所使用的构造函数,readonly 字段可能具有不同的值。 另外,const 字段为编译时常数而 readonly 字段可用于运行时常量。

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

 

调用时也不同

 

class PRogram    {        static void Main(string[] args)        {            Console.ForegroundColor = ConsoleColor.Green;            //直接使用const值            Console.WriteLine(sample.constValue);            //实例化对象后使用            sample2 s2 = new sample2();            Console.WriteLine(s2.readonlyValue);            Console.Read();        }        class sample        {            public const int constValue = 10;        }        class sample2        {            public readonly int readonlyValue = 20;        }    }

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表