• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#基础:基于const与readonly的深入研究

C#基础:基于const与readonly的深入研究

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了readonly和const,c const readonly,c#readonly,c#中readonly,c#readonly属性等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

•readonly和const都是用来标识常量的[1]。
•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 type):sbyte, 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的值具有只读特性。有关字符串恒定性的内容,可以参考《Microsoft .NET框架程序设计(修订版)》。
Examples:
•一般情况下,如果你需要表达一组相关的编译时确定常量,你可以考虑使用枚举类型(enum),而不是把多个const常量直接嵌入到class中作为field,不过

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 深入探讨C#中的const、readonly关键字
  • C#基础知识系列八const和readonly关键字详细介绍
  • C#基础:基于const与readonly的深入研究
  • C#中 const 和 readonly 的不同

相关文章

  • 2017-05-28C# 封装HtmlHelper组件:BootstrapHelper
  • 2017-05-28C#基于面向过程计算加权平均分的方法
  • 2017-05-28c#操作iis根目录的方法
  • 2017-05-28.NET中实现彩色光标、动画光标及自定义光标的方法
  • 2017-05-28C#数组中List, Dictionary的相互转换问题
  • 2017-05-28C#自定义基于控制台的Timer实例
  • 2017-05-28picturebox加载图片的三种方法与网站验证码的抓取
  • 2017-05-28C#中登录窗体和欢迎窗体关闭方法分析
  • 2017-05-28C#函数式编程中的惰性求值详解
  • 2017-05-28C#获取指定PDF文件页数的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#实现简单的登录界面
    • C#中自定义高精度Timer定时器的实例教程
    • 深入理解C#中的Delegate
    • c# List find()方法返回值的问题说明(返回结果为对象的指针)
    • C# winfrom 模拟ftp文件管理实现代码
    • 浅析JAVA中过滤器、监听器、拦截器的区别
    • C#利用WebClient实现两种方式下载文件
    • C#实现将像素转换为页面单位的方法
    • C#TreeView 无限级别分类实现方法
    • datatable去掉重复行的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有