Pregunta

Necesito codificar una serie de puntos en mi programa de C #. El inicializador de estilo C no funcionó.

PointF[] points = new PointF{
    /* what goes here? */
};

¿Cómo se hace?

¿Fue útil?

Solución

Me gusta esto:

PointF[] points = new PointF[]{
    new PointF(0,0), new PointF(1,1)
};

En c # 3.0 puedes escribirlo aún más corto:

PointF[] points = {
    new PointF(0,0), new PointF(1,1)
};

actualización Guffa señaló que yo estaba corto con los var points , de hecho no es posible "escribir de forma implícita una variable con un inicializador de matriz".

Otros consejos

Necesitas crear una instancia de cada PointF con una nueva.

Algo como

Pointf [] puntos = {nuevo PointF (0,0), nuevo PointF (1,1), etc ...

La sintaxis puede no estar al 100% aquí ... Estoy retomando la última vez que tuve que hacerlo hace años.

PointF[] points = new PointF[]
{
    new PointF( 1.0f, 1.0f),
    new PointF( 5.0f, 5.0f)
};

Para C # 3:

PointF[] points = {
   new PointF(1f, 1f),
   new PointF(2f, 2f)
};

Para C # 2 (y 1):

PointF[] points = new PointF[] {
   new PointF(1f, 1f),
   new PointF(2f, 2f)
};
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top