C# const与readonly的详细用法
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;
}
}
学习学习,谢谢分享
页:
[1]