Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将FSharpList转换回c#中的List?_C#_.net_List_F#_Converter - Fatal编程技术网

如何将FSharpList转换回c#中的List?

如何将FSharpList转换回c#中的List?,c#,.net,list,f#,converter,C#,.net,List,F#,Converter,我有一个F#库,它将FSharpList返回给我的C#调用者 我现在希望我的C#调用方代码将其转换为列表 在C#中,最有效的方法是什么 谢谢。比我想象的容易 首先是: List<double> niceList= new List<double>(); 要从FSharpList转换回List,我做了: List<double> niceList= niceSharpList.ToList(); List niceList=niceSharpList.ToL

我有一个F#库,它将FSharpList返回给我的C#调用者

我现在希望我的C#调用方代码将其转换为列表

在C#中,最有效的方法是什么


谢谢。

比我想象的容易

首先是:

List<double> niceList= new List<double>();
要从
FSharpList
转换回
List
,我做了:

List<double> niceList= niceSharpList.ToList();
List niceList=niceSharpList.ToList();

为了实现这一点,必须添加对项目核心F#4.0的引用

例如,在F#中,你有这个

/// A list with 3 integers
let listA = [ 1; 2; 3 ]     
您可以用非常简单的方式在C#中使用

List<Int32> listCSHARP = Module1.listA.ToList();

foreach (Int32 i in listCSHARP)
{
     MessageBox.Show(i.ToString());
}
List listCSHARP=Module1.listA.ToList();
foreach(listCSHARP中的Int32 i)
{
Show(i.ToString());
}

FSharpList
转换为
List
现在是
List niceList=新列表(ListModule.ToSeq(niceSharpList))(使用FSharp.Core版本4.5.0.0)
List<Int32> listCSHARP = Module1.listA.ToList();

foreach (Int32 i in listCSHARP)
{
     MessageBox.Show(i.ToString());
}