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

相关推荐
这孩子叫逆8 分钟前
Spring Boot项目的创建与使用
java·spring boot·后端
星星法术嗲人12 分钟前
【Java】—— 集合框架:Collections工具类的使用
java·开发语言
yunhuibin16 分钟前
ffmpeg面向对象——拉流协议匹配机制探索
学习·ffmpeg
hengzhepa26 分钟前
ElasticSearch备考 -- Search across cluster
学习·elasticsearch·搜索引擎·全文检索·es
黑不溜秋的26 分钟前
C++ 语言特性29 - 协程介绍
开发语言·c++
一丝晨光30 分钟前
C++、Ruby和JavaScript
java·开发语言·javascript·c++·python·c·ruby
天上掉下来个程小白33 分钟前
Stream流的中间方法
java·开发语言·windows
暮雪倾风39 分钟前
【WPF开发】控件介绍-Grid(网格布局)
windows·wpf
xujinwei_gingko44 分钟前
JAVA基础面试题汇总(持续更新)
java·开发语言
邓校长的编程课堂1 小时前
在Visual Studio中使用CMakeLists.txt集成EasyX库的详细指南
visual studio·少儿编程·easyx·信息学奥赛·图形化编程·趣味编程