gpt4 book ai didi

c# - C# 中的 const 和 static 有什么区别?

转载 作者:IT王子 更新时间:2023-10-29 04:17:56 30 4
gpt4 key购买 nike

我很想知道 const 变量和 static 变量之间的区别。

const 变量是否也总是static?它们有什么区别?

最佳答案

const 字段只能保存值类型或 System.String。它们在编译时必须是不可变的和可解析的。

static readonly 字段可以而且通常确实包含引用类型,引用类型(字符串除外)只能在运行时创建。这些可以(但不应该)是可变类型;唯一不能改变的是引用本身。

如果您需要维护一组引用类型的“常量”实例,通常使用一组public static readonly 字段来实现,例如System.Drawing.SystemColors 的成员。 .

最后但同样重要的是,readonly 字段的初始化可以推迟到构造函数执行时进行,这意味着即使它只能写入 一次,它并不总是必须用完全相同的值初始化。用 const 声明的真常量只能有一个值(在编译时指定)。

关于c# - C# 中的 const 和 static 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2512946/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com