Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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/9/ruby-on-rails-3/4.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
.net 如何处理ValueTask<;T>;在F#中?_.net_Asynchronous_F#_Async Await_C# To F# - Fatal编程技术网

.net 如何处理ValueTask<;T>;在F#中?

.net 如何处理ValueTask<;T>;在F#中?,.net,asynchronous,f#,async-await,c#-to-f#,.net,Asynchronous,F#,Async Await,C# To F#,因此,显然.NET全新的ValueTask是Task的精简版。这很酷,但如果之前我必须使用Async.AwaitTask将我的F#Async工作流与Task集成,那么现在我应该如何处理ValueTask?在实现之前(感谢Aaron),可以使用ValueTask的方法,现在可以使用Async.AwaitTask,作为最简单的解决方案。我的OSS项目可以自然、隐式地处理任务和值任务与F#异步异步工作流上的类型相同: let asyncTest=async{ 使用ms=newmemoryStream(

因此,显然.NET全新的
ValueTask
Task
的精简版。这很酷,但如果之前我必须使用
Async.AwaitTask
将我的F#Async工作流与Task集成,那么现在我应该如何处理ValueTask?

在实现之前(感谢Aaron),可以使用ValueTask的方法,现在可以使用
Async.AwaitTask
,作为最简单的解决方案。

我的OSS项目可以自然、隐式地处理
任务
值任务
与F#
异步
异步工作流上的类型相同:

let asyncTest=async{
使用ms=newmemoryStream()
//FusionTasks直接解释F#异步工作流块中的任务类。
do!ms.WriteAsync(数据,0,数据.长度)
ms位置是否应等于数据2.长度
}

有一个RFC,它通过一个
waitValueTask
功能向F#添加对此的支持。您可以使用更原始的
Async.FromContinuations
,非常轻松地实现
Async.waitTask
——我想您也可以对
ValueTask执行同样的操作