C# 访问列表中的对象,使用其属性和F执行foreach#

C# 访问列表中的对象,使用其属性和F执行foreach#,c#,f#,c#-to-f#,C#,F#,C# To F#,我有一个对象列表,为了使这个问题更一般,让我们假设我有类型为“myType”的对象。myType有两个属性x和y,它们都是整数。我还有一个名为“myList”的“myType”对象列表 我想对列表中的每个对象执行一些操作,我将给出一个示例 override form.OnPaint e= 设g=e.图形为 对于myList中的myType,请执行以下操作 g、 FillRectangle(brush.Black,x,x,x)//我想使用myType属性中的值,而不是x。 所以在C#中,我只需要

我有一个对象列表,为了使这个问题更一般,让我们假设我有类型为“myType”的对象。myType有两个属性x和y,它们都是整数。我还有一个名为“myList”的“myType”对象列表

我想对列表中的每个对象执行一些操作,我将给出一个示例

override form.OnPaint e=
设g=e.图形为
对于myList中的myType,请执行以下操作
g、 FillRectangle(brush.Black,x,x,x)//我想使用myType属性中的值,而不是x。
所以在C#中,我只需要做一个

foreach (myType x in myList) 
{
    g.FillRectangle(Brushes.Black, x.x, x.y ...etc)
}
而现在在F#中,foreach语法是不同的,我不确定它是否可以访问特定的对象属性,如C#中的给定示例

任何关于如何做到这一点的想法都将不胜感激,请记住我是F#的新手,还有很多东西要学,所以语法对我来说还是有点不确定。

我想你会想要的

mylist |>Seq.iter(趣味x->g.FillRectangle(画笔.黑色,x.x,x.y,…)

看起来是正确的解决方案,但我发现了这个错误。“类型不匹配。需要Collections.Generic.List单位”我希望可以添加一个|>ignore来忽略返回值,但它似乎不起作用。
List
这里指的是一个F#List-我假设您正在使用它。将
List
更改为
Seq
应该可以解决这个问题。是的,可能是一个序列而不是一个列表,我的道歉,无论如何,感谢您快速而有用的回答!它实际上不是一个
Seq
而是
Seq
将与实现
Ienumerable
doe的任何类型一起工作。您也可以只使用for..in表达式在枚举上循环,而不需要结果:
在mylist中为x做g.FillRectangle(Brush.Black,x.x,x.y…)