Pergunta

Eu preciso codificar uma matriz de pontos no meu programa C #. O C-estilo initializer não funcionou.

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

Como é feito?

Foi útil?

Solução

Como esta:

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

Em c # 3.0 você pode escrevê-lo ainda mais curto:

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

update Guffa apontou que eu era curto com o var points, não é realmente possível "variável de tipo implícito com um inicializador de matriz".

Outras dicas

Você precisa instanciar cada PointF com o novo.

Algo como

PointF [] pontos = {new PointF (0,0), novo PointF (1,1), etc ...

Sintaxe não pode ser 100% aqui ... Eu estou chegando de volta para quando eu última tinha que fazer isso anos atrás.

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 (e 1):

PointF[] points = new PointF[] {
   new PointF(1f, 1f),
   new PointF(2f, 2f)
};
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top