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#的技术就是先简单再难嘛,积少成多之后才会成长才会进步,我们要不断的学习不断的探索,才能有学习的动力,才会有学习的欲望,创作不易,点赞评论收藏关注,嘿嘿,不喜勿喷!!!!

相关推荐
君爱学习1 分钟前
RocketMQ延迟消息是如何实现的?
后端
jingling5558 分钟前
面试版-前端开发核心知识
开发语言·前端·javascript·vue.js·面试·前端框架
我是小哪吒2.016 分钟前
书籍推荐-《对抗机器学习:攻击面、防御机制与人工智能中的学习理论》
人工智能·深度学习·学习·机器学习·ai·语言模型·大模型
Falling4218 分钟前
使用 CNB 构建并部署maven项目
后端
m0_6873998426 分钟前
写一个Ununtu C++ 程序,调用ffmpeg API, 来判断一个数字电影的视频文件mxf 是不是Jpeg2000?
开发语言·c++·ffmpeg
程序员小假29 分钟前
我们来讲一讲 ConcurrentHashMap
后端
爱上语文37 分钟前
Redis基础(5):Redis的Java客户端
java·开发语言·数据库·redis·后端
A~taoker42 分钟前
taoker的项目维护(ng服务器)
java·开发语言
✎ ﹏梦醒͜ღ҉繁华落℘1 小时前
WPF学习(四)
学习·wpf