C#定义常量的五种常用方法

 更新时间:2025年11月28日 09:25:42   作者:代码掌控者  
作为一名 C# 程序员,常量就像我们代码中的小伙伴,时刻陪伴着我们,在 C# 中,定义常量有几种简单而有效的方法,今天,我想和大家分享 5 种常用的常量定义方式,需要的朋友可以参考下

前言

嗨,大家好!

作为一名 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:虽然不是严格意义上的常量,但也有常量的特点,适合增强对象的不可变性,同时保持灵活性

到此这篇关于C#定义常量的五种常用方法的文章就介绍到这了,更多相关C#定义常量的方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#中POST接口formdata传参模板的记录

    C#中POST接口formdata传参模板的记录

    这篇文章主要介绍了C#中POST接口formdata传参模板的记录方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Unity实现人物平滑转身

    Unity实现人物平滑转身

    这篇文章主要为大家详细介绍了Unity实现人物平滑转身,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • 详解如何在C#中处理空值

    详解如何在C#中处理空值

    在任何编程语言中开发应用程序时,经常会遇到空异常或空引用异常,那么下面让我们探讨一下在C#中处理空值的各种方法吧,需要的可以收藏下
    2023-07-07
  • C#通过GET/POST方式发送Http请求

    C#通过GET/POST方式发送Http请求

    本文主要介绍了C#实现http请求的两种方式,get和post方式。文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • c# 如何实现一个简单的json解析器

    c# 如何实现一个简单的json解析器

    这篇文章主要介绍了c# 如何实现一个简单的json解析器,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • C# 中this关键字的主要作用

    C# 中this关键字的主要作用

    this 关键字在C#中主要用于引用当前对象,区分字段与局部变量,调用其他构造函数以及传递当前对象给其他方法或构造函数,本文重点介绍C# this关键字的作用,感兴趣的朋友一起看看吧
    2024-02-02
  • C# 泛型数组学习小结

    C# 泛型数组学习小结

    C# 泛型数组学习中我们需要注意什么事项呢?C# 泛型数组的使用又是如何呢?那么本文就向你详细介绍这方面的内容
    2012-09-09
  • 如何在C# 中查找或结束程序域中的主、子进程

    如何在C# 中查找或结束程序域中的主、子进程

    这篇文章主要介绍了如何在C# 中查找或结束程序域中的主、子进程,帮助大家更好的理解和使用c#编程语言,感兴趣的朋友可以了解下
    2020-11-11
  • C#获取局域网MAC地址的简单实例

    C#获取局域网MAC地址的简单实例

    这篇文章主要介绍了C#获取局域网MAC地址的简单实例,有需要的朋友可以参考一下
    2013-11-11
  • 如何使用C#代码创建快捷方式文件详解

    如何使用C#代码创建快捷方式文件详解

    在Windows中创建快捷方式很简单,如果想用C#代码的方式创建,就没有那么方便了,因为.NET框架没有提供直接创建快捷方式的方法。这篇文章主要给大家介绍了关于如何使用C#代码创建快捷方式文件的相关资料,需要的朋友可以参考下
    2018-08-08

最新评论