const 和 readonly 修饰符的用法
1. 只有C#内置类型(int,double,long等)可以声明为const;结果、类和数组不能声明为const。
2. readonly 是在字段上使用的修饰符,直接以类名.字段访问。
3. const 必须在申明中初始化。之后不能再修改。
4. readonly可以在申明中初始化,也可以在构造函数中初始化,其它情况不能修改。
namespace const_and_readonly
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Half a year have {0} Moths", Calendar.Moths/2); //直接类名.字段访问const字段
Calendar test1 = new Calendar();
Console.WriteLine("Every year has {0} weeks and {1} days", test1._weeks, test1._days);//readonly字段通过实例访问
Calendar test2 = new Calendar(31, 4);
Console.WriteLine("January has {0} weeks and {1} days", test2._weeks ,test2 ._days);
Console.ReadKey();
}
}
class Calendar
{
public const int Moths = 12; //const必须在声明中初始化
public readonly int _days=365; //readonly在声明中初始化
public readonly int _weeks;
public Calendar() //readonly在构造函数内初始化
{
_weeks = 52;
}
public Calendar(int days,int weeks) //readonly在构造函数内初始化
{
_days = days;
_weeks = weeks;
}
public void setvalue(int days,int weeks)
{
// _days = days; 无法对只读字段赋值
//_weeks = weeks; 无法对只读字段赋值
} }
const 和 readonly 修饰符的用法的更多相关文章
- C#中const 和 readonly 修饰符的用法详解
1.const是不变常量,在编译的时候就需要有确定的值,只能用于数值和字符串,或者引用类型只能为null.(这里为什么要把字符串单独拿出来?是因为字符串string是引用类型,但是使用的时候却感觉是值 ...
- C# const和readonly修饰符的区别
const 的概念就是一个包含不能修改的值的变量.常数表达式是在编译时可被完全计算的表达式.因此不能从一个变量中提取的值来初始化常量.如果 const int a = b+1;b是一个变量,显然不能再 ...
- C# static readonly 修饰符初始化变量
同事问了一个问题,readonly和static啥区别? 我就写了个demo运行了下: /*** * 验证初始化次数:static只初始化一次,无论多少用户访问,在内存中只有一份 * readonly ...
- params修饰符的用法
params修饰符是用来声明参数数组允许向方法传递数量不定的自变量用的.事实上System.Console 类的 Write 和 WriteLine 方法是参数数组用法的典型示例.他们的声明方式如下: ...
- java中修饰符及其用法
1. java中的修饰符 a. 权限修饰符 private,默认的,protected,public b. 状态修饰符 static,final c. 抽象修饰符 abstract 2. 类修饰符 p ...
- 关于readonly修饰符
修饰字段: 1.值类型:不能修改值 2.引用类型:是指该字段引用的对象不可以修改,但是里面的内容是可以修改的! 示例: static void Main(string[] args) { Consol ...
- vue2.0修饰符sync用法
如果子组件是一个弹窗,我们想通过点击关闭按钮来关闭子组件弹窗,子组件弹窗的v-show由变量isVisible控制,这个变量通过props由父组件来注入, 而子组件无法改变props里面的变量的值,但 ...
- c# 访问修饰符的访问权限
1. 访问修饰符. 指定声明的类型和类型成员的可访问性. (1) public:是类型和类型成员的访问修饰符.公共访问是允许的最高访问级别.对访问公共成员没有限制. (2) private:是一个成员 ...
- 【.Net】 C#访问修饰符
一 类的修饰符: C#中类的默认修饰符是internal.1 private 只有对包.NET中的应用程序或库才能访问.2 public 不限制对类的访问. 3 protected 只可以被本类和其 ...
随机推荐
- SQL中的内连接与外连接
关于关系代数连接运算的介绍请查看下面链接 http://www.cnblogs.com/xidongyu/articles/5980407.html 连接运算格式 链接运算由两部分构成:连接类型和连接 ...
- 关于iphone 6 ios8网站背景图片错乱的问题解决办法
最近公司有个客户的网站用手机safari打开出现背景图片错乱,本来应该显示A图片的却显示B图片,网速越慢的情况下越容易出现这种问题,悲催的是这种情况只在iPhone 6上出现,并且不是一直这样,多刷新 ...
- 数据源DBCP一二
其实DBCP这个数据源实际上和com.alibaba.druid.pool.DruidDataSource 是差不多的
- Hadoop配置安装手册
本次Hadoop集群安装一共使用四个节点,各节点IP如下: Master 172.22.120.191 Slave1 172.22.120.192 Slave2 172.22.120.193 Slav ...
- 1017关于EXPLAIN的语法
转自博客 http://blog.csdn.net/zhuxineli/article/details/14455029 explain显示了MySQL如何使用索引来处理select语句以及连接表.可 ...
- hibernate的hql查询
1.概念介绍 1.Query是Hibernate的查询接口,用于从数据存储源查询对象及控制执行查询的过程,Query包装了一个HQL查询语句. 2.HQL是Hibernate Query Langua ...
- java设计优化--代理模式
代理模式使用代理对象完成用户的请求,屏蔽用户对真实对象的访问. 代理模式的用途很多,比如因为安全原因,需要屏蔽客户端直接访问真实对象:或者在远程调用中,需要使用代理对象处理远程方法中的技术细节:或者为 ...
- CSS书写规范及顺序
CSS书写顺序 1.位置属性(position, top, right, z-index, display, float等)2.大小(width, height, padding, margin)3. ...
- 我的防Q+
Q+链接: http://onemore.web-45.com/index1.html: 兼容IE8: __页面被主机屋收回去了,现在又在弄自己的服务器,稍等呗
- 简单的cookie使用
<html><head><script type="text/javascript">function getCookie(c_name){if ...