Pregunta

Si usted tiene un tipo inmutable como esto:

struct Point3
{

}

y un miembro interior como origen:

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

se debe utilizar:

new Point3 (0,0,0)

Me parece que, dado que el tipo no se puede cambiar, por eso tiene muchos orígenes que son esencialmente la misma cosa? Al igual que nunca cambian 0, ¿verdad?

¿Cómo lograr lo mismo para los tipos inmutables?

¿Fue útil?

Solución

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

Otros consejos

Como se mencionó Andrew, no se puede utilizar para este const porque no es una constante en tiempo de compilación.

Tenga en cuenta que si son va a utilizar un constructor en repetidas ocasiones, que sería mejor (desde el punto de vista del rendimiento) llamando a

new Point3()

de

new Point3(0, 0, 0)

El compilador sabe que la primera versión es sólo va a salir de memoria en blanco, y no es necesario llamar a ningún código.

Sin embargo, me gustaría ir junto con proporcionar un miembro Origin y el uso que en todas partes en su lugar, siempre que sea posible:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top