Acesse objetos em uma lista, execute um foreach usando suas propriedades com F#

StackOverflow https://stackoverflow.com//questions/21007327

  •  21-12-2019
  •  | 
  •  

Pergunta

Eu tenho uma lista de objetos, para tornar esta questão genérica, digamos que tenho o objeto do tipo 'myType'.myType tem duas propriedades x e y, ambas são números inteiros.Também tenho uma lista de objetos ‘myType’ chamada ‘myList’.

Quero realizar algo em cada objeto dessa lista, vou dar um exemplo.

  override form.OnPaint e = 
      let g = e.Graphics in
      for myType in myList do
      g.FillRectangle(Brushes.Black, x, x, x, x) // instead of x I want to use the values from myType's properties.

Então, em C# eu simplesmente faria um

foreach (myType x in myList) 
{
    g.FillRectangle(Brushes.Black, x.x, x.y ...etc)
}

Considerando que agora em F# a sintaxe foreach é diferente e não tenho certeza se ela pode acessar as propriedades específicas de objetos como o exemplo dado em C#.

Qualquer idéia sobre como fazer isso será muito apreciada. Tenha em mente que sou novo em F# e ainda tenho muito que aprender, então a sintaxe ainda é um pouco duvidosa para mim.

Foi útil?

Solução

Eu acho que você quer

mylist |> Seq.iter (fun x -> g.FillRectangle(Brushes.Black,x.x,x.y,...))
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top