Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 .NET 中,如果我定义一个常量(比如类中的私有常量),引用该常量会导致该值在内存中重复,无论它被引用,还是 .NET 只是使用指向常量存储位置的指针,与使用任何普通变量一样吗?
这取决于您指的是哪种内存:常量不会在数据内存中复制,但它将成为嵌入在编译的 IL 代码中的代码内存的一部分。
它包含在 IL 中(即“重复”)。另一种方法是使用readonly关键字。
请注意,这是使公共const非常危险的原因。错误修复版本可能会更改该值,但使用 const 的任何其他程序集仍使用旧值。只声明常量内部或私有。对公共声明使用readonly。除非它是一个需要改变宇宙结构的“明显常数”。像 Math.Pi