加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从C#代码中访问F#列表

发布时间:2020-12-15 18:20:31 所属栏目:百科 来源:网络整理
导读:我写了一个F#模块,里面有一个列表: module MyModuletype X = { valuex : float32 }let l = [ for i in 1 .. 10 - {valuex = 3.3f}] 现在从C#类我试图访问以前定义的列表,但我不知道如何转换它: ... list = MyModule.l ; //here's my problem 我需要这样的
我写了一个F#模块,里面有一个列表:
module MyModule
type X = 
    {
        valuex : float32
    }
let l = [ for i in 1 .. 10 -> {valuex =  3.3f}]

现在从C#类我试图访问以前定义的列表,但我不知道如何转换它:

... list = MyModule.l ; //here's my problem

我需要这样的东西:

IList<X> list = MyModule.l;

我怎样才能做到这一点?

解决方法

很简单:
IList<MyModule.X> list = MyModule.l.ToList();

您需要转换方法而不是强制转换/隐式转换的原因是因为FSharpList< T>实现IEnumerable< T>但不是IList< T>因为它代表一个不可变的链表.

请注意,您必须在您的C#项目中包含FSharp.Core作为参考.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读