访问F#列表<;列表<&燃气轮机&燃气轮机;从内部C#代码

访问F#列表<;列表<&燃气轮机&燃气轮机;从内部C#代码,c#,list,f#,C#,List,F#,这是一个扩展。 我认为访问列表与访问简单列表非常相似,但我有一些问题 以下是F#代码: 类型X= { 值x:int } 设l= [ 对于1..10-> [ 对于1..10中的j-> {valuex=i*j} ] ] 根据我之前的帖子,我尝试在C代码内部执行以下操作: IList list=MyModule.l.ToList(); 但这不会编译。 有人能说出我的错误吗?在这种情况下,属性的类型是FSharpList,因此您必须将每个内部FSharpList映射到IList,然后将结果序列具体化

这是一个扩展。 我认为访问
列表
与访问简单列表非常相似,但我有一些问题

以下是F#代码:

类型X=
{
值x:int
}
设l=
[
对于1..10->
[
对于1..10中的j->
{valuex=i*j}
]
]
根据我之前的帖子,我尝试在C代码内部执行以下操作:

IList list=MyModule.l.ToList();
但这不会编译。

有人能说出我的错误吗?

在这种情况下,属性的类型是
FSharpList
,因此您必须将每个内部FSharpList映射到
IList
,然后将结果序列具体化为一个列表(列表)

这看起来像:

IList<IList<MyModule.X>> list = MyModule.l
                                        .Select(inner => (IList<MyModule.X>) inner.ToList())
                                        .ToList();

在这种情况下,属性的类型是
FSharpList
,因此您必须将每个内部FSharpList映射到
IList
,然后将结果序列具体化为一个列表(列表)

这看起来像:

IList<IList<MyModule.X>> list = MyModule.l
                                        .Select(inner => (IList<MyModule.X>) inner.ToList())
                                        .ToList();

其实我不知道。我是个新手。关键是我在f中有一个列表,我必须在C中迭代它。如果您知道更好的解决方案,请!将我引向正确的方向。声明类型为
IEnumerable
的变量,然后迭代/枚举到您的内容:只要某个东西实现了
IEnumerable
,它就可以被迭代,而不必知道确切的/具体的类型。我是个新手。关键是我在f中有一个列表,我必须在C中迭代它。如果您知道更好的解决方案,请!将我引向正确的方向。声明类型为
IEnumerable
的变量,然后迭代/枚举到您的内容:只要某个东西实现了
IEnumerable
,它就可以被迭代,而不必知道确切的/具体的类型。