iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C# 中readonly常量的作用是什么
  • 226
分享到

C# 中readonly常量的作用是什么

2023-06-17 23:06:57 226人浏览 八月长安
摘要

今天就跟大家聊聊有关C# 中readonly常量的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C#语言还是比较常见的东西,这里我们主要介绍C# readonly常量,包括

今天就跟大家聊聊有关C# 中readonly常量的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

C#语言还是比较常见的东西,这里我们主要介绍C# readonly常量,包括介绍readonly和const都是用来标识常量等方面。

readonly和const都是用来标识常量的。

const可用于修饰class的field或者一个局部变量(local variable);而readonly仅仅用于修饰class的field。

const常量的值必定在编译时就已明确并且恒定的;而C# readonly常量却有一点不同,那就是其值可以在运行时编译,当然,它也必须遵守作为常量的约束,那就是值必须恒定不变。

const常量必须在声明的同时对其进行赋值,并且确保该值在编译时可确定并恒定;而C# readonly常量则可以根据情况选择在声明的同时对其赋予一个编译时确定并恒定的值,或者将其值的初始化工作交给实例构造函数(instant constructor)完成。如:public readonly string m_Now = DateTime.Now.ToString();,m_Now会随着运行时实际情况变化而变化。

const常量属于类级别(class level)而不是实例对象级别(instant object level),并且它不能跟static结合一起使用,该常量的值将由整个类的所有实例对象共同分享(详细论述参见后面的Remark区域)。

C# readonly常量既可以是类级别也可以是实例对象级别的,这取决于它的声明以及初始化工作怎么实施。readonly可以与static结合使用,用于指定该常量属于类级别,并且把初始化工作交由静态构造函数(static constructor)完成(有关如何把C# 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的值具有只读特性。

using System;  public class Order  {  public Order()  {  Guid guid = Guid.NewGuid();  ID = guid.ToString("D");  }   // 对于每一份订单,其订单序号都是实时确定的常量。 style="color: #008000;"> public readonly string ID;   public override string ToString()  {  return "Order ID: " + ID;  }  }

看完上述内容,你们对C# 中readonly常量的作用是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: C# 中readonly常量的作用是什么

本文链接: https://www.lsjlt.com/news/294191.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C# 中readonly常量的作用是什么
    今天就跟大家聊聊有关C# 中readonly常量的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C#语言还是比较常见的东西,这里我们主要介绍C# readonly常量,包括...
    99+
    2023-06-17
  • C++ 函数重载中常量的作用是什么?
    常量在 c++++ 函数重载中可发挥以下作用:区分函数参数列表,根据不同用途使用不同常量类型作为参数。提供默认参数值,简化函数调用。 C++ 函数重载中常量的作用 在 C++ 中,函数...
    99+
    2024-04-28
    c++ 函数重载 常量
  • C# const和static readonly区别是什么
    这篇文章主要介绍“C# const和static readonly区别是什么”,在日常操作中,相信很多人在C# const和static readonly区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-17
  • c++中字符串常量是什么
    c++++ 中的字符串常量 什么是字符串常量? 字符串常量是在 C++ 代码中表示固定文本值的不变字符序列。 创建字符串常量 在 C++ 中,可以使用以下两种方法来创建字符串常量: 双引...
    99+
    2024-05-12
    c++ 字符串常量
  • C++中指针常量与常量指针的区别是什么
    在C++中,指针常量和常量指针是不同的概念。1. 指针常量(Pointer to constant):指针本身是一个常量,即指针的值...
    99+
    2023-08-16
    C++
  • php中不能作为常量值的是什么
    在 php 中,表达式不能作为常量值,因为它们不是标量类型。常量必须是有效的标识符,其值必须为整数、浮点数、字符串或布尔值。 PHP 中不能作为常量值的是什么? 在 PHP 中,不能作...
    99+
    2024-04-27
  • C#中Arraylist的作用是什么
    C#中Arraylist的作用是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Arraylist类似于一维动态数组,在Arraylist中可以存放任何对像,...
    99+
    2023-06-17
  • C#中 ReaderWriterLock的作用是什么
    这篇文章将为大家详细讲解有关C#中 ReaderWriterLock的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Performance非常差UpgradeToWriterLoc...
    99+
    2023-06-17
  • c#中finally的作用是什么
    在C#中,finally块用于定义一个代码块,这个代码块中的代码无论try块中的代码是否抛出异常,都会被执行。无论try块中代码是否...
    99+
    2024-04-08
    c#
  • c#中obsolete的作用是什么
    在C#中,[Obsolete] 属性用于标记某个成员(方法、属性、字段等)已过时,即不推荐使用。当代码中调用了被标记为[Obsole...
    99+
    2024-04-09
    c#
  • c#中intersect的作用是什么
    在C#中,Intersect方法用于获取两个集合的交集,即返回同时存在于两个集合中的元素。它是LINQ方法之一,可用于IEnumer...
    99+
    2024-04-02
  • c#中internal的作用是什么
    在C#中,internal关键字用于限制访问级别,表示只能在同一个程序集(assembly)内部访问该成员或类型。换句话说,inte...
    99+
    2024-03-02
    c#
  • c++中cmathd的作用是什么
    cmath是C++中的数学库,包含了各种数学函数,如三角函数、指数函数、对数函数、幂函数、取整函数、求余函数等等。通过包含cmath...
    99+
    2024-03-15
    c++
  • C#中directory.getfiles的作用是什么
    C#中的`Directory.GetFiles`方法用于获取指定目录中所有文件的路径。它返回一个字符串数组,包含指定目录下所有文件的...
    99+
    2023-08-19
    C#
  • c#中distinct的作用是什么
    在C#中,Distinct方法用于从序列中删除重复的元素,并返回一个包含唯一元素的新序列。Distinct方法使用默认的相等比较器来...
    99+
    2024-03-02
    c#
  • c++中async的作用是什么
    在C++中,async是一个用来创建异步任务的函数模板。它的作用是创建一个异步任务,并返回一个std::future对象,用来获取异...
    99+
    2024-03-06
    c++
  • c#中signalr的作用是什么
    SignalR是一个实时通信库,可以让开发人员轻松地在客户端和服务器之间建立实时、双向的通信。它可以帮助开发人员构建具有实时更新功能...
    99+
    2024-03-06
    c#
  • c++中public的作用是什么
    在C++中,public关键字用于定义类的成员或函数为公共成员,即可以被类的实例对象或其他类访问。当成员或函数声明为public时,...
    99+
    2024-03-11
    c++
  • C++中atan2的作用是什么
    在C++中,atan2函数是一个数学函数,用于计算两个参数的 arctangent 值。atan2函数接受两个参数,y和x,返回的是...
    99+
    2024-03-11
    C++
  • c#中httpserver的作用是什么
    在C#中,HTTP服务器的作用是创建一个可以响应HTTP请求的服务器。它可以接收来自客户端的HTTP请求,并根据请求中的内容执行相应...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作