C#中const 和 readonly 修饰符的用法详解
1.只有C#内置类型(int,double,long等)可以声明为const;结果、类和数组不能声明为const。
2.readonly是在字段上使用的修饰符,直接以类名.字段访问。
3.const必须在申明中初始化。之后不能再修改。
4.readonly可以在申明中初始化,也可以在构造函数中初始化,其它情况不能修改。
namespaceconst_and_readonly
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("Halfayearhave{0}Moths",Calendar.Moths/2);//直接类名.字段访问const字段
Calendartest1=newCalendar();
Console.WriteLine("Everyyearhas{0}weeksand{1}days",test1._weeks,test1._days);//readonly字段通过实例访问
Calendartest2=newCalendar(31,4);
Console.WriteLine("Januaryhas{0}weeksand{1}days",test2._weeks,test2._days);
Console.ReadKey();
}
}
classCalendar
{
publicconstintMoths=12;//const必须在声明中初始化
publicreadonlyint_days=365;//readonly在声明中初始化
publicreadonlyint_weeks;
publicCalendar()//readonly在构造函数内初始化
{
_weeks=52;
}
publicCalendar(intdays,intweeks)//readonly在构造函数内初始化
{
_days=days;
_weeks=weeks;
}
publicvoidsetvalue(intdays,intweeks)
{
//_days=days;无法对只读字段赋值
//_weeks=weeks;无法对只读字段赋值
}
}
以上所述是小编给大家介绍的C#中const和readonly修饰符的用法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!