iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#中const,readonly和static关键字的用法介绍
  • 678
分享到

C#中const,readonly和static关键字的用法介绍

2024-04-02 19:04:59 678人浏览 薄情痞子
摘要

如果有一个值不太会变化,我们经常使用const和readonly,这2者有何不同呢?有时候,我们也会在readonly之前加上关键字static,这又意味着什么呢? const co

如果有一个值不太会变化,我们经常使用const和readonly,这2者有何不同呢?有时候,我们也会在readonly之前加上关键字static,这又意味着什么呢?

const

  • const默认是静态的,可以通过"类名.字段名"来访问。
  • const变量只能在声明的时候赋值,不能在构造函数中为const类型变量赋值。
  • 一旦程序集被编译,const变量会被写进程序集的IL代码中。如果想修改const变量值,必须在修改值后再重新生成程序集。
  • const是编译期变量
    public class Test
    {
        public const int defaultValue = 10;
        //这里报错:因为不能在构造函数内为const变量赋值
        public Test()
        {
            defaultValue = 1000;
        }
    }

以上,
可以通过Test.defaultValue来获取变量defaultValue的值。
在Test构造中为defaultValue赋值会报错,只能在声明defaultValue的时候赋初值。

readonly

readonly默认是实例变量,只能通过"对象实例.字段名"来访问。
readonly变量可以在声明的时候或在构造函数内赋值。
如果想改变readonly变量值,只需要在声明变量或构造函数内修改,不需要重新生成程序集。
readonly是运行时变量

    class Program
    {
        static void Main(string[] args)
        {
            Test test = new Test();
            Console.WriteLine(test.rdValue);
            Console.ReadKey();
        }
    }
    public class Test
    {
        public readonly int rdValue;
        public Test()
        {
            this.rdValue = 100;
        }
        //这里报错:因为只能在声明变量或构造函数内对readonly变量赋值
        public int RDVaue
        {
            get { return rdValue; }
            set { rdValue = value; }
        }
    }

以上,
通过Test类的实例来获取readonly变量值,test.rdValue。
在RDValue属性中为readonly变量rdValue赋值会报错。

如果在readonly之前加上static关键字:

此时的readonly变量只能在声明变量的时候赋值
此时的readonly变量可以通过"类名.字段名"来访问
此时的readonly变量变成了编译期变量

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Test.rdValue);
            Console.ReadKey();
        }
    }
    public class Test
    {
        public static readonly int rdValue=100;
    }

以上,
只能在声明static readonly变量rdValue的时候赋值。 
通过Test.rdValue来访问static readonly变量。

总结:const是静态的、编译期变量,只能在声明变量的时候赋值;readonly是运行时变量,可以在声明的时候或在构造函数内赋值。当在readonly前加上关键字static,变成static readonly后,此时的static readonly变量就变成了静态的、编译期变量。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对编程网的支持。如果你想了解更多相关内容请查看下面相关链接

--结束END--

本文标题: C#中const,readonly和static关键字的用法介绍

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

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

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

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

下载Word文档
猜你喜欢
  • C#中const,readonly和static关键字的用法介绍
    如果有一个值不太会变化,我们经常使用const和readonly,这2者有何不同呢?有时候,我们也会在readonly之前加上关键字static,这又意味着什么呢? const co...
    99+
    2022-11-13
  • C#中的const和readonly关键字详解
    const和readonly经常被用来修饰类的字段,两者有何异同呢? const 1、声明const类型变量一定要赋初值吗? 一定要赋初值 public class Student ...
    99+
    2022-11-13
    C# const关键字 readonly关键字
  • C++中引用和const关键字介绍
    目录引用常引用const关键字用法1)定义常量2)定义常量指针3)定义常引用总结引用 下面的写法定义了一个引用,并将其初始化为引用某个变量。类型名 & 引用名 = 某变量名;...
    99+
    2022-11-13
  • Java中static关键字的介绍和用法
    本篇内容主要讲解“Java中static关键字的介绍和用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中static关键字的介绍和用法”吧!用类名去调用static有两层含义: 可以理...
    99+
    2023-06-02
  • C#中的var关键字用法介绍
    从.NET 3.0开始,在方法内部可以使用var关键字声明局部变量。var关键字到底是什么?在何种情况下使用呢? var关键字用来隐式地声明一个数据类型,变量类型是在编译期确定的,而...
    99+
    2022-11-13
  • Java static关键字详细介绍与用法总结
    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。下面整理内容大家可以参考下。1.     静态方法 通常...
    99+
    2023-05-31
    java static ava
  • c++关键字const的用法详解
    目录C语言const的用法1、指向常量的指针变量const int *p指针指向int a;2、常指针(常地址)int * const p指针指向int a;3、指向常量的常指针co...
    99+
    2022-11-12
  • C++中引用和const关键字怎么用
    今天小编给大家分享一下C++中引用和const关键字怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。引用下面的写法定义了...
    99+
    2023-06-29
  • Java中的Final关键字的用法介绍
    这篇文章主要介绍“Java中的Final关键字的用法介绍”,在日常操作中,相信很多人在Java中的Final关键字的用法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中的Final关键字的用法介绍...
    99+
    2023-06-16
  • C语言中的Const关键字怎么用
    这篇“C语言中的Const关键字怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言中的Const关键字怎么用”文章吧...
    99+
    2023-06-29
  • C语言简明介绍常见关键字的用法
    目录1、关键字2、常见关键字1、关键字 关键字是C语言提供的,不能自己创建关键字; 关键字不能用作变量名,eg:int char;这样的写法是不可取的。 2、常见关键字 auto b...
    99+
    2022-11-13
  • C语言中的Static关键字怎么用
    这篇文章主要介绍C语言中的Static关键字怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、static关键字的基本含义首先,static关键字的意思是静态的,用于修饰局部变量,全局变量和函数,修改其数据储存...
    99+
    2023-06-26
  • C语言中volatile关键字的详细介绍
    这篇文章主要讲解了“C语言中volatile关键字的详细介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言中volatile关键字的详细介绍”吧!1. 什么是volatile关键字?v...
    99+
    2023-06-20
  • Java类中this关键字与static关键字的用法解析
    目录前言1:修饰属性,表示调用类中的成员变量。2:this修饰方法3:this表示当前对象的引用前言 今天给大家总结介绍一下Java类中this关键字和static关键字的用法。 t...
    99+
    2022-11-13
  • C语言中static关键字的作用是什么
    本篇内容介绍了“C语言中static关键字的作用是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!static这个关键字是“静态”的意思,...
    99+
    2023-07-05
  • 如何分析C语言关键字中的void、const和return
    这篇文章将为大家详细讲解有关如何分析C语言关键字中的void、const和return,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。return首先我们弄清楚c语言内存分配的方式然后我们看一...
    99+
    2023-06-22
  • 带你了解Java中Static关键字的用法
    目录Java中Static关键字的一些用法详解1. Static 修饰类属性,因为静态成员变量可以通过类名+属性名调用,非静态成员变量不能通过类名+属性名调用;2. Static 修...
    99+
    2022-11-12
  • Java中Static关键字使用的方法有哪些
    本文小编为大家详细介绍“Java中Static关键字使用的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中Static关键字使用的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。&nb...
    99+
    2023-07-05
  • Kotlin中Object关键字的使用示例介绍
    目录1.定义单例类2.对象表达式3.伴生对象在kotlin中的超类是Any,并没有使用Java中的Object关键字表示超类。 在Kotlin中Object关键字,另有作用。 1.定...
    99+
    2022-11-13
  • java中this关键字的详细使用介绍
    this 的使用:修饰属性和方法,也可以理解为当前对象 this 调用构造器: 1.我们在类的构造器里,可以使用,调用本类中指定的其他构造器 2.构造器中不能通过”thi...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作