来自C#3.0完全参考手册
readonly关键字可以通过在类中把一个字段声明成readonly来创建一个只读字段。只可以在声明时使用初始化值为只读字段提供值,或者在构造函数中为其赋值。一旦设置只读字段的值,就不能在构造函数外部改动该值。
public class Test
{
public readonly int count = 10;
public Test()
{
count = 100;
}
public int Count
{
get { return count; }
//set { count = value; } //error
}
public void setValue()
{
// count = 10; //error
}
}const关键字用于声明不可以改变的字段或局部变量。这些变量在声明时必须提供初始值。因此,const变量在本质上就是一个常量。例如:
const int i=10;创建了const变量i,该变量的值为10.尽管const字段类似于只读字段,但是两者并不相同。不可以在构造函数中设置const字段,但是可以设置只读字段。
volatile修饰符告诉编译器字段的值可以被两个或更多并发执行的线程改变。在这种情况下,某个线程可能不知道何时该字段已经被另一个字段改变。这一点非常重要,因为编译器将自动执行只在字段被单个执行线程访问时有效的某些优化。为了防止这些优化应用于共享的字段,可以将该字段声明为volatile,这就告诉编译器必须在每次访问该字段时包含它的值。
4963

被折叠的 条评论
为什么被折叠?



