ASP.NET中readonly与const的区别详解

时间:2022-02-18 13:33:36

const是一个修饰常量的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,它在程序设计中有着非常重要的作用,给开发人员带来非常方便的应用。
下面我们来建一个控制台应用程序作测试

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class Test
{
  public readonly string name = "George";
  public const string coname = "ABC Company LLC";
  public Test(string name)
  {
    // readonly 修饰的变量能且只能在 Constructor(构造函数)中被改变 
    this.name = name;
  }
  public string _name
  {
    get
    {
      return name;
    }
    //不可以对readonly修饰的变量进行Set操作 
    //set   
    //{   
    //  name = value;
    //}  
  }
}
  
class Program
{
  static void Main(string[] args)
  {
    Test obj = new Test("Test");
    //readonly的变量不可以修改值,只能在 Constructor(构造函数)中被改变   
    //obj.name = "New Value";    
    Console.WriteLine(obj.name);  
    //const 的变量直接通过对象访问,不需要实例化
    Console.WriteLine(Test.coname);
    Console.Read();
  }
}

以前一直以为 readonly 与 const 的作用是一样的,现在明白它们之间的区别了,不知道您是否也明白了呢?希望大家有所收获吧!