前言
嗨,大家好!
作为一名 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
:适用于在运行时需要初始化,或者依赖于某些条件的常量
static
:虽然不是严格意义上的常量,但实践中通常也用作可共享的类级别常量
init
:虽然不是严格意义上的常量,但也有常量的特点,适合增强对象的不可变性,同时保持灵活性
阅读原文:原文链接
该文章在 2025/1/15 10:17:36 编辑过