LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C# 定义常量的 5 种方法总结

admin
2025年1月15日 8:43 本文热度 80

前言

嗨,大家好!

作为一名 C# 程序员,常量就像我们代码中的小伙伴,时刻陪伴着我们!

在 C# 中,定义常量有几种简单而有效的方法。

今天,我想和大家分享 5 种常用的常量定义方式,为你的编程之旅增添一些乐趣!

1. 使用 const 关键字

const 关键字用于定义编译时常量,一旦定义,常量的值不能更改。

public class Example
{
    public const int MaxValue = 100;
    public const string WelcomeMessage = "Hello, World!";
}

2. 使用 readonly 关键字

readonly 修饰符用于定义运行时常量,它的值可以在声明时或构造函数中设置,但在其他地方不能更改。

public class Example
{
    public readonly int num = 100;
    
    public Example()
    {
        num = 200;  
    }
}

3. 使用 enum 枚举

通过定义枚举,可以创建一组相关的常量值,通常用于整型常量。

public enum Days
{
    Sunday,
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday
}

4. 使用 static 字段

static 字段虽然不是严格意义上的常量,但在实际运用中通常也用作可共享的类级别常量

public class Example
{
    public static int StaticValue = 42;
}

static 还可以结合 readonly,创建一个更灵活的类级别的常量。

public class Example
{
    public static readonly string Url;

    static Example()
    {
        Url = "https://www.example.com";
    }
}

5. 使用 init 仅设置属性

这是 C# 9.0+ 引入的一个新关键字,可以让类型对象的属性只能在对象初始化时设置,之后不能再修改,虽然不是严格意义上的常量,但也有常量的特点

public class Person
{
    public string Name { get; init; }
    public int Age { get; init; }

    public Person()
    {
        // 可以在这里初始化 init 属性
        Name = "Unknown";
        Age = 0;
    }
}

// 使用 init 属性
var person = new Person { Name = "Jacky", Age = 30 };
// person.Name = "Tom"; // 这行代码会导致编译错误

总结

总结一下:

  • const:适用于固定值且不需要在运行时计算的常量

  • readonly:适用于在运行时需要初始化,或者依赖于某些条件的常量

  • enum:用于一组相关的固定整型常量

  • static:虽然不是严格意义上的常量,但实践中通常也用作可共享的类级别常量

  • init:虽然不是严格意义上的常量,但也有常量的特点,适合增强对象的不可变性,同时保持灵活性


阅读原文:原文链接


该文章在 2025/1/15 10:17:36 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved