如果你学过ASP.NET理论知识都会知道,在ASP.NET中 readonly和const修饰的变量都是恒量,它们的值是不可以被修改的。但是他们之间到底有什么区别?下面小编就它们的区别用例子来进行说明。
const是一个修饰常量的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,它在程序设计中有着非常重要的作用,给开发人员带来非常方便的应用。
下面我们来建一个控制台应用程序作测试:
- 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 的作用是一样的,现在明白它们之间的区别了,不知道您是否也明白了呢?希望大家有所收获吧!
新闻热点
疑难解答
图片精选