readonly 与const常量的区别

①const修饰的常量只能在初始化时被赋值,而readonly 域可以在初始化时被赋值,也可以在构造函数内赋值(但不能在其它方法内改变它)。
②const修饰的常量的值必须在编译时确定,而readonly 域的值不必在编译时确定。const修饰的值的数据类型也有限制,它只能为下列类型之一(或能够转换为下列类型的):sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, decimal, bool, string, enum类型, 或引用类型。
③const修饰的常量是static 类型,不能通过类的实例进行访问;而readonly 域如果不标明将是非static 类型的,通过类的实例进行访问。只读域可以是实例域也可以是静态域。只读域的类型可以是C#语言的任何类型。
posted @ 2011-03-24 22:26  山之松  阅读(126)  评论(0编辑  收藏  举报