difference between ReadOnly and Const?
Possible Duplicate:
What is the difference between const and readonly?
这些可以互换吗?你能告诉我你将如何应用这两个代码吗?
- stackoverflow.com/questions/55984/…副本
- 和stackoverflow.com/questions/755685/c-static-readonly-vs-cons‌&8203;t
- 和stackoverflow.com/questions/555534/…
- 和stackoverflow.com/questions/410723/…
- @埃里克,这些问题的问题在于,回答这些问题比寻找被骗者更容易/更快。但是大拇指向上伸去寻找被骗者。
- 埃里克就是那个人!他对特种作战部队来说是多么宝贵的财富!谢谢你的服务,埃里克
const无法执行计算,而readonly可以在初始化时执行。(也就是说,您可以从配置文件中读取只读变量的值,或者基于运行时已知的其他参数,const只能设置为编译时已知的值)
不,他们没有。
const字段是嵌入在程序集中的文字值。只有基元值(字符串和数字)可以是const,并且在编译时对它们进行计算。当您引用const字段时,编译器将嵌入该字段的文字值。因此,如果使用来自另一个程序集的const,并且用不同的值重新编译另一个程序集,则只有在根据新版本重新编译新值时,程序集才会使用新值。
readonly字段是不能在构造函数外部更改的普通字段。
- 为什么这次被否决?
- 去问埃里克!他就是那个人!
- 回答这个问题:stackoverflow.com/questions/2624796/…
任何类型的成员都可以是readonly。它只意味着在构造包含类之后不能重新分配成员;即,不能使用=操作符将其设置为新对象。对于集合等可变类,仍然可以对其成员进行修改;只是,如果您有一个readonly成员是集合,则在构造后不能将其分配给一个全新的集合。
const与文字(如5不同):它代表一个不变的值,因此只在指定一个值(与对象相反)的上下文中才真正有意义。