有没有安全一点的网站,青岛公司网站建设价格,自己做报名网站,网站如何增加流量Readonly 与Const readonly 关键字是可以在字段上使用的修饰符。当字段声明包括 readonly修饰符时#xff0c;该声明引入的字段赋值只能作为声明的一部分出现#xff0c;或者出现在同一类的构造函数中。 对于实例字段#xff0c;在包含字段声明的类的实例构造函数中#x… Readonly 与Const readonly 关键字是可以在字段上使用的修饰符。当字段声明包括 readonly修饰符时该声明引入的字段赋值只能作为声明的一部分出现或者出现在同一类的构造函数中。 对于实例字段在包含字段声明的类的实例构造函数中或者对于静态字段在包含字段声明的类的静态构造函数中。也只有在上下文中将 readonly字段作为out或ref参数传递才有效。 readonly关键字与const关键字不同。const字段只能在该字段的声明中初始化。readonly字段可以在声明或构造函数中初始化。因此根据所使用的构造函数readonly字段可能具有不同的值。另外const字段为编译时常数而 readonly字段可用于运行时常数 const 关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数不能被修改。 常数声明的类型指定声明引入的成员类型。常数表达式必须产生具有目标类型或者可隐式转换为目标类型的类型的值。 常数表达式是在编译时可被完全计算的表达式。因此对于引用类型的常数可能的值只能是 string和 null。 常数声明可以声明多个常数不允许在常数声明中使用 static修饰符。常数可以参与常数表达式 C#的readonly关键字只能在字段上面使用public readonly TcpClient client;不能在类方法属性上面使用readonly!!顺便看了一下readonly和const的区别 readonly和const都是用来标识常量的。 const可用于修饰class的field或者一个局部变量local variable而readonly仅仅用于修饰class的field。 const常量的值必定在编译时就已明确并且恒定的而readonly常量却有一点不同那就是其值可以在运行时编译当然它也必须遵守作为常量的约束那就是值必须恒定不变。 const常量必须在声明的同时对其进行赋值并且确保该值在编译时可确定并恒定而readonly常量则可以根据情况选择在声明的同时对其赋予一个编译时确定并恒定的值或者将其值的初始化工作交给实例构造函数instant constructor完成。如public readonly string m_Now DateTime.Now.ToString();m_Now会随着运行时实际情况变化而变化。 const常量属于类级别class level而不是实例对象级别instant object level并且它不能跟static结合一起使用该常量的值将由整个类的所有实例对象共同分享详细论述参见后面的Remark区域。 readonly常量既可以是类级别也可以是实例对象级别的这取决于它的声明以及初始化工作怎么实施。readonly可以与static结合使用用于指定该常量属于类级别并且把初始化工作交由静态构造函数static constructor完成有关如何把readonly常量声明为类级别或实例对象级别的论述清参见后面的Remark区域。 能被const修饰声明为常量的类型必须是以下的基元类型primitive typesbyte,byte,short,ushort,int,uint,long,ulong,char,float,double,float,bool,decimal,string。 object,数组Array和结构struct不能被声明为const常量。 一般情况下引用类型是不能被声明为const常量的不过有一个例外string。该引用类型const常量的值可以有两种情况string或null。其实string虽然是引用类型但是.NET却对它特别处理这种处理叫做字符串恒定性immutable使得string的值具有只读特性。 转载于:https://www.cnblogs.com/Veakey/archive/2012/07/13/2590538.html