C# const关键字学习

前言:

你居然不知道const关键字?今天在做项目的时候别人问我的,我确实不知道这个关键字,今天我们就来一起学习一下const关键字定义局部变量,这个关键字对于常数变量非常的友好的,可以提高程序的运行效率,因为它是在编译时的操作,所以我们必须要学习一下,这不就是提高效率的方法啊,创作不易,点赞关注评论收藏,你的点赞是我创作的动力,也是我学习的方向!!!谢谢啦!

const关键字的认识

使用 const 关键字来声明某个常量字段或常量局部变量。 常量字段和常量局部变量不是变量并且不能修改。 常量可以为数字布尔值字符串null 引用。 不要创建常量来表示你需要随时更改的信息。 例如,不要使用常量字段来存储服务的价格、产品版本号或公司的品牌名称。 这些值会随着时间发生变化;因为编译器会传播常量,所以必须重新编译通过库编译的其他代码以查看更改const(编译时常量),const在编译时将替换成具体的常量,这样如果在引用中同时使用了const和readonly两种值,则对readonly的再次改变将会改变设计的初衷,这是需要重新编译所更改的程序集,以重新引用新的常量值。const比readonly效率高,但失去了应用的灵活性。(readonly关键字下篇文章学)

使用效果展示

我们对const简单的测试一下,踩踩坑,踩了坑才能发现问题,我发现其实const就相当于C语言的宏定义

,初始化赋完值之后就不能改变了,在程序中就相当于一个常量,因为C#中是没有宏定义的,感觉const就是起到一个宏定义的作用。而我们在赋值时常量可以为数字布尔值字符串null

代码逻辑

js 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Test929
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        class Test
        {
            int a;
            int b;
            int c;

            public int A { get => a; set => a = value; }
            public int B { get => b; set => b = value; }
            public int C { get => c; set => c = value; }
        }
        public int x = 1;
        public int y = 2;
        
        public const int num1 = 5;
        public const int num2 = num1 + 5;

        private void Form2_Load(object sender, EventArgs e)
        {    
            Console.WriteLine(x);
            Console.WriteLine(y);
            Console.WriteLine(num1);
            Console.WriteLine(num2);
           // const Test test = new Test();  
        }

    }
}

总结

这篇文章比较简单,只是简单的学习一下,对它有更多的认识,在有需求的时候最起码有路子,虽然很简单,但是也是可以学到东西的,我们学习了新的知识,对我们的知识储备及技术又有新的一点点的进步,C#的技术就是先简单再难嘛,积少成多之后才会成长才会进步,我们要不断的学习不断的探索,才能有学习的动力,才会有学习的欲望,创作不易,点赞评论收藏关注,嘿嘿,不喜勿喷!!!!

相关推荐
IT_陈寒几秒前
SpringBoot自动配置的坑差点让我加班到天亮
前端·人工智能·后端
xingpanvip几秒前
星盘接口开发文档:星相日历接口指南
android·开发语言·前端·css·php·lua
guygg887 分钟前
基于遗传算法的双层规划模型求解MATLAB实现
开发语言·matlab
鹿鸣悠悠23 分钟前
【AI学习】全链路、并发、响应时间
学习
凯瑟琳.奥古斯特26 分钟前
SQLAlchemy核心功能解析
开发语言·python·flask
PNP Robotics34 分钟前
领军军者|PNP机器人包文涛:以具身智能定义机器人的“生命直觉”
人工智能·深度学习·学习·机器学习·机器人
卷Java38 分钟前
GPTQ vs AWQ vs GGUF:模型量化工具横向测评
开发语言·windows·python
QYQ_11271 小时前
嵌入式学习——字符设备驱动的注册和调用流程
学习
charlie1145141911 小时前
嵌入式C++工程实践第20篇:GPIO 输入模式内部电路 —— 芯片是如何“听“到外部信号的
开发语言·c++·stm32·单片机
消失的旧时光-19431 小时前
Spring Boot 工程化进阶:统一返回 + 全局异常 + AOP 通用工具包
java·spring boot·后端·aop·自定义注解