Acesse objetos em uma lista, execute um foreach usando suas propriedades com F#
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.
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