C#中的常量
发布日期:2021-06-30 19:57:07
浏览次数:3
分类:技术文章
本文共 1113 字,大约阅读时间需要 3 分钟。
一:常量与变量
——变量:是指在程序的运行过程中随时可以发生变化的量
——常量:可以当做常规的变量,只是他们的值在定义后不能再被修改,常量可以是任何的基本数据类型,比如整型,浮点型,字符串型,Class等二:两种写法
——静态常量(const)
using UnityEngine;public class Test : MonoBehaviour{ public const float PI = 3.1415f; public const string tag="Player";}
——动态常量(readonly),又称为只读变量
using System;public class Test{ private readonly float PI = 2.5f; public Test() { PI = 3.14f; }}
三:静态常量与动态常量的区别
——const声明的同时必须要赋值
readonly声明的时候可以赋值也可以不赋值,也可以在类的构造函数中进行赋值(如果是静态动态常量static readonly则可以在静态构造函数中初始化) ——const只能声明不用new初始化的值类型(int,double),所以数组、结构体类型不能声明为const,但是string可以,因为.net框架内部对string进行了特殊处理,使string具有恒定性,使它是只读的 readonly可以声明任何一个类型 ——const是隐式static,它默认就是static,所以不能使用static关键字 readonly是显式static,可以声明static也可以不声明static 所以const声明的常量只能通过类去访问,readonly声明的常量访问方式需要看是否有static关键字 ——const(静态常量compile-time constants)是编译时确定的,当程序编译时将所有引用const常量的地方替换为声明常量时的数值,类似于C中的#define宏(例如定义一个const int a=10,int b=20,在一个方法中使用a*b等同于10*b) readonly(动态常量runtime constants)是在运行时才获取常量的值,并赋值到每个引用的位置 ——const可以声明类中的字段或函数体内的局部变量,readonly只可以声明类中的字段 ——const声明的常量不需要分配内存,无内存开销,且在内存中无存储位置,但是限制多,不灵活 readonly声明的常量灵活,但是性能略低,动态分配内存,有内存开销,且在内存在有存储位置转载地址:https://liuhaowen.blog.csdn.net/article/details/104069404 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月25日 07时13分29秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
手把手教你--jquery chosen插件的使用和API(html下拉框美化)
2019-04-30
手把手教你--JAVA微信支付(H5支付)
2019-04-30
solr修改schema文件(solr修改配置文件)
2019-04-30
Bootstrap datetimepicker日期时间插件使用方法(日期时间选择器)
2019-04-30
字体图标库(Font Awesome)的使用--绝佳的图标字体库和CSS框架
2019-04-30
select下拉框分组展示插件的使用--(select-mania插件的使用)
2019-04-30
Java 8新特性之--lambda表达式的使用和应用
2019-04-30
Java Lambda表达式的应用--Stream API操作集合框架
2019-04-30
省市区三级联动插件Distpicker--前端实现地区三级联动
2019-04-30
solr的使用详解
2019-04-30
Myslq连接(JDBC)url属性的参数的设置
2019-04-30
关于Java继承,重载及运行的顺序的总结
2019-04-30
关于Spring MVC与前端的交互
2019-04-30
Mybatis逆向工程的使用
2019-04-30
关于Hibernate的优缺点
2019-04-30
常用的 Maven 命令
2019-04-30
常用的20个正则表达式
2019-04-30
数据结构之顺序表的实现
2019-04-30