Question

Si vous avez un type immuable comme ceci:

struct Point3
{

}

et un élément intérieur comme origine:

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

si vous utilisez:

new Point3 (0,0,0)

Il me semble que, puisque le type ne peut pas être changé, pourquoi ont de nombreuses origines qui sont essentiellement la même chose? Comme nous ne changeons 0, droit?

Comment obtenir la même chose pour les types immuables?

Était-ce utile?

La solution

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

Autres conseils

Comme mentionné Andrew, vous ne pouvez pas utiliser const pour cela parce que ce n'est pas une constante de compilation.

Notez que si vous sont va utiliser un constructeur à plusieurs reprises, vous seriez mieux (d'un point de vue de la performance) appelant

new Point3()

que

new Point3(0, 0, 0)

Le compilateur sait que la première version va juste mémoire vierge dehors, et n'a pas besoin d'appeler un code.

Cependant, je vais avec fournir un membre de Origin et en utilisant au lieu que partout, si possible:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top