如果你有一个不可变型是这样的:

struct Point3
{

}

和一个部件的内部等来源:

public static const Point3 Origin = new Point3 (0,0,0);

您应该使用:

new Point3 (0,0,0)

在我看来,既然类型不能改变,为什么有很多起源的本质上是一回事吗?就像我们永远不变0,对吧?

如何实现同样的事情恒定类型?

有帮助吗?

解决方案

public static readonly Point3 Origin = new Point3(0,0,0);

其他提示

作为安德鲁提到的,你不能因为它不是一个编译时常使用const这一点。

请注意,如果你的的打算使用一个构造函数反复,你会更好(从性能上看)调用

new Point3()

大于

new Point3(0, 0, 0)

在编译器知道的第一个版本仅仅是将空出的内存,并且不需要调用任何代码。

然而,我会去一起提供Origin构件和使用该到处代替,在可能的情况:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top