Ibr*_*mir 10 c# variables static global const
在声明全局变量时,"static"和"const"之间有什么区别;
namespace General
{
public static class Globals
{
public const double GMinimum = 1e-1;
public const double GMaximum = 1e+1;
}
}
Run Code Online (Sandbox Code Playgroud)
哪一个更好(考虑到这些变量永远不会改变)
namespace General
{
public static class Globals
{
public static double GMinimum1 = 1e-1;
public static double GMaximum1 = 1e+1;
}
}
Run Code Online (Sandbox Code Playgroud)
MrM*_*ins 11
const和readonly对数据成员执行类似的功能,但它们有一些重要的区别.常量成员在编译时定义,不能在运行时更改.常量使用const关键字声明为字段,必须在声明时初始化.
的静态改性剂用于声明静态成员,这意味着构件不再依赖于特定的对象.该值属于该类,另外可以在不创建类实例的情况下访问该成员.只存在静态字段和事件的一个副本,静态方法和属性只能访问静态字段和静态事件
const编译时间后,变量无法更改.它们适用于真正恒定的事物(即pi)
static成员是共享内存,可以被特定类的所有实例访问,如果使用像public这样的访问修饰符,则更多(这些可能与javascript等语言中的全局变量一样).静态成员的行为类似于可以在任何时候重新分配的普通变量.
在你的情况下,如果保证数字永远不会改变,那么使它们成为常量.如果它们确实发生了变化,则必须使用新值重新编译程序.
哪一个更好?如果您使用,const那么文字值将被烘焙到程序集中并提供性能提升.
如果值需要更改,那么更改源和重新编译所需的时间会破坏这种边际性能提升.
const是一个常数值,不能改变。它被编译到程序集中。
static 意味着它是一个与实例无关的值,并且可以在运行时更改(因为它不是readonly)。
因此,如果值从未更改,请使用 consts。
| 归档时间: |
|
| 查看次数: |
35679 次 |
| 最近记录: |