我应该如何将返回非通用任务的函数转换为 ValueTask?

2024-03-19

我正在编写一些代码,它在内存中构建一个缓冲区,然后将其清空到TextWriter当缓冲区填满时。大多数时候,角色会直接进入缓冲区(同步),但偶尔(每 4kb 一次)我需要调用TextWriter.WriteAsync.

In the System.Threading.Tasks.Extensions package https://www.nuget.org/packages/System.Threading.Tasks.Extensions似乎只有一个ValueTask<T> https://learn.microsoft.com/en-gb/dotnet/api/system.threading.tasks.valuetask-1?view=netcore-2.0结构体,并且没有非泛型ValueTask(没有类型参数)。为什么没有ValueTask,如果我需要转换返回非泛型的方法,我该怎么办Task(也就是说,异步等价于void方法)到ValueTask?


在黑暗中拍摄,但我认为这是因为Task.CompletedTask https://msdn.microsoft.com/en-us/library/system.threading.tasks.task.completedtask(v=vs.110).aspx对于大多数非通用情况就足够了。

一种思考方式ValueTask<T>是作为一个联盟Task<T> and T(分别针对异步和同步情况)。因此,非通用ValueTask将是一个联盟Task而且...什么都没有,所以只是一个Task.

我想不出非通用的情况ValueTask实际上与缓存已经完成的内容不同Task(这是什么Task.CompletedTask是),尽管我很想了解任何内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该如何将返回非通用任务的函数转换为 ValueTask? 的相关文章

  • X11 模式对话框

    如何使用 Xlib 在 X11 中创建模式对话框 模态对话框是一个位于应用程序其他窗口之上的窗口 就像瞬态窗口一样 并且拒绝将焦点给予应用程序的其他窗口 在 Windows 中 当试图从模态窗口夺取焦点时 模态也会通过闪 烁模态窗口的标题栏
  • .NET 单点登录

    我一直在尝试使用 C 为 NET Web 应用程序实现 WEB SSO 服务提供程序插件 我将使用 shibboleth 身份提供商 我已经使用 OpenSAML 库为 java 应用程序实现了相同的功能 我想知道在 NET 应用程序中使用
  • 为什么我会收到未找到分析器的警告?

    我创建了一个玩具项目来检查最新的 NET 7 预览版 5 和正则表达式代码生成 它效果很好 所以我对现有项目应用了相同的更改 不是为了生产 而是为了个人生产力 由于某种原因 我收到这些警告 CS8032 An instance of ana
  • 深拷贝和动态转换 unique_ptr

    假设我有一个如下所示的类 class A virtual A class B public A class C public A 我还有一个 unique ptr 向量 它是这样声明的 std vector
  • 最新 .Net MongoDb.Driver 的连接问题

    我创建了一个 MongoLab 沙箱数据库 我与 MongoChef 连接 效果很好 我通过 Nuget 安装了 MongoDB Driver 2 2 2 我编写了一些简单的 C 演示代码 但就是无法使其工作 连接字符串是直接从 Mongo
  • 使用 C# 将多个音频样本混合到单个文件中

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个能够创建音频文件 mp3 或 wav 的库 NAudio http www codeple
  • 警告 C4800:“int”:强制值为 bool“true”或“false”(性能警告)

    我的代码中有这个问题 bool CBase isNumber return id MID NUMBER bool CBase isVar return id MID VARIABLE bool CBase isSymbol return i
  • Dapper 在执行时挂起

    我有一个 IDb连接 sql UPDATE 表名 SET json json lastupdate SYSDATE WHERE id id var param new DynamicParameters param Add json jso
  • Monotouch全局异常处理

    我在野外发现了一只令人讨厌的虫子 但我无法确定它的具体情况 有没有办法拥有全局 Try Catch 块 或者有办法处理 Monotouch 中未处理的任何异常 我可以包起来吗UIApplication Main args 在 try cat
  • 应用程序处于中断模式。您的应用程序已进入中断状态,

    我发现自己遇到了同样的问题here https stackoverflow com questions 36204009 disable break mode page in vs2015 我在 dll 中使用 Windows 窗体 这是针
  • 我可以将 UseCSharpNullComparisonBehavior 用于单个查询吗?

    我有一个查询 该查询曾经是存储过程 现已转换为 EF 查询 现在已经超时了 使用 SQL Profiler 我可以看到生成的 SQL 的唯一区别是 EF 转变的新行为entity Property value into entity Pro
  • DataGridView 行背景颜色没有改变

    我想根据加载时的特定条件更改 DGV 行的背景颜色 即使在 Windows 窗体中也是如此 但我看不到任何 DGV 行的颜色有任何变化 谁能告诉我如何解决这个问题 private void frmSecondaryPumps Load ob
  • 从 DataRow 单元格解析 int [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 如何从 DataRow 单元格解析 int 值 Int32 Parse item QuestionId ToString 这段代码可以工作 但看
  • Gremlin.net 文本包含等效项

    我正在使用 Gremlin net 库连接到 janus 图形服务器 我使用 cassandra 和弹性搜索进行数据存储和索引 在我使用的 gremlin 语言和 gremlin 控制台中文本包含在属性的文本中进行搜索 我正在使用混合索引
  • “1个未解决的外部”C++

    我已经检查了所有文件之间的连接以及类和函数定义 但每次我尝试运行我的程序时 它都会阻止我并告诉我它有 1 个未解析的外部 该程序应该打开多个文件 一个 学生 文件和一个 成绩 文件 从中读取数据 然后使用 查询文件 来查找数据 找到查询中要
  • 使用多态对象数组进行 JSON 反序列化

    我在涉及多态对象数组的 JSON 反序列化方面遇到问题 我已经尝试过记录的序列化解决方案here https stackoverflow com questions 5186973 json serialization of array w
  • Boost.asio和异步链,unique_ptr?

    我对异步编程不太熟悉 我有一个问题 我的问题如下 给出 boost asio 中 C 11 的 echo server 示例 http www boost org doc libs 1 60 0 doc html boost asio ex
  • 从脚本启用/禁用 GameObject 组件 [Unity3D]

    我需要获取一个脚本中设置的布尔值 放入名为 bouclier 的变量 以启用或禁用游戏对象 该变量位于游戏对象 Player 中 此处右下角 我需要启用或禁用这个游戏对象 Bouclier01 为此 我将脚本附加到游戏对象 Bouclier
  • 将一个 IEnumerable 拆分为多个 IEnumerable

    我是 linq 新手 我需要根据指示器将 Couple string text bool Indicator 类型的 IEnumerable 拆分为多个 IEnumerable 我尝试使用skipWhile 和 TakeWhile 但没有找
  • 如何使用 C# 为 azure devops 变量赋值

    我有 selenium C 测试脚本 可以从浏览器获取令牌 我有两个 azure devops 任务 一个用于执行 selenium 测试 另一个用于执行 API 测试 我想将 selenium 测试获取的令牌传递给 API 测试执行任务

随机推荐

  • LINQ:返回列表中的非重复项

    如果我有一个这样的列表 List
  • 如何以编程方式确定 ActiveX 控件是否已安装,以及该控件或整个 ActiveX 是否已被禁用?

    我在服务器端使用 ASP NET 在客户端使用 JavaScript 我正在尝试开发一些页面来帮助用户排除故障 我想知道是否有一种方法可以以编程方式确定以下内容 如果 Internet Explorer 中已禁用 ActiveX 如果已安装
  • 我可以在 View 中使用 WebView(原生反应)吗?

    我正在尝试在 View 组件内使用 WebView 组件 用于我正在开发的 React Native 应用程序 当我将 WebView 嵌入到 View 中时 我看不到 WebView 中显示的内容 这是本机反应的预期行为吗 您应该为您的网
  • 设计库 - CoordinatorLayout/CollapsingToolbarLayout 与 GridView/listView

    这可能是一个愚蠢的问题 但我不太了解设计库 我正在关注这个参考 https github com chrisbanes cheesesquare blob master app src main res layout activity de
  • 在其他类中使用相同的按钮

    我正在使用 Eclipse 并正在编写我的第一个应用程序 但我有一个初学者问题 我想使用主类中按钮中的一些方法 但我想在我的 Start 类中使用它们 我该如何设置向上 是否通过使用 Button1 Button find View By
  • 如何将下拉菜单保留在 ActiveX 之上

    我在所有页面上都有一个由 JavaScript 创建的下拉菜单 并且某些列最多包含 20 个项目 在 Mozilla 浏览器中 此下拉列表显示在所有内容的最上面 但在 Internet Explorer 中 当 ActiveX 对象显示在其
  • 如何在不打开数据库的情况下测试SqlServer连接

    标题基本概括了所有内容 我想创建一个 SqlConnection 然后在不打开数据库的情况下检查该连接 因为那时我还不知道将连接到哪里 可以这样做吗 SqlConnection 类有一个 Open 成员 它尝试打开您在 Database 属
  • 在Android中,如何获取滚动窗格

    我想知道是否有一个小部件的作用类似于 Swing 中的 ScrollPane 实际上 我正在尝试制作一个布局 其中顶部的标题栏始终可见 在其下方有一个可变高度组件 我可以垂直滚动 同时保持标题栏可见 我确信这很容易 但我没有看到它 谢谢 维
  • Google 新闻 XML API:使用国家/地区/语言参数

    我想订阅来自 Google 新闻的 RSS XML 提要 该提要捕获以下查询 来自任何国家 用德语撰写的提及 studie 德语 学习 的文章 我在用着https news google com rss search https news
  • 无法使用角度从登录页面隐藏页眉和页脚

    这是我的问题 我无法从登录页面隐藏页眉和页脚 在这里 我在 app html 以及登录页面和主页中有一个通用的页眉和页脚 如果没有登录 它不必显示导航 但我仍然在身份验证之前获取导航 下面是我的代码
  • 如何编写库而不强迫用户使用库的 IOC 容器

    简短的问题是 给定一个图书馆warrants当应用程序使用该库时 在给定应用程序的情况下 将特定的 IOC 容器用于其内部warrants使用 IOC 容器来连接其依赖项 如果两个容器不同 它们如何才能很好地协同工作 场景是 应用程序定义了
  • 以编程方式安装证书吊销列表 (CRL)

    我需要每周下载并安装大约 50 个 CRL 并将它们安装在多台 Windows 服务器上 下载是最简单的部分 有没有办法编写 CRL 导入过程的脚本 这是我的最终来源 为公众稍微删除 但应该有效 我不会更改已接受的答案 但我确实希望这会有所
  • 为什么在适用时不隐含 constexpr? [复制]

    这个问题在这里已经有答案了 这些可能应该在不同的问题中 但它们是相关的 所以 为什么我们需要写constexpr根本吗 给定一组限制 编译器无法评估代码以查看它是否满足constexpr要求 并将其视为constexpr如果有的话 作为一个
  • Django REST Serializer 对多个嵌套关系进行 N+1 数据库调用,3 层

    我的模型有外键关系的情况 models py class Child models Model parent models ForeignKey Parent class Parent models Model pass 和我的序列化器 c
  • 使用 openXML 与 c# 和 ASP.net 在 powerpoint 中创建动态表

    我已经使用了这些链接并获得了一个工作代码 我可以在其中使用模板报告 包含占位符 并使用从数据库获取的数据生成新的 PPTX 报告 我还有 4 个占位符 需要在其中填充 4 个不同的数据表 目前 我正在使用该模板创建新幻灯片并替换文本的占位符
  • 启用DNS预解析和TCP预连接

    如何在 Chrome 浏览器 Mac OS X 中启用 DNS 预解析和 TCP 预连接 当chrome dns页面显示 DNS 预解析和 TCP 预连接已禁用 它位于高级设置中 称为 预测网络操作以提高页面加载性能
  • PostBackUrl 与 Response.Redirect

    PostBackUrl Response Redirect 和 Server Transfer 之间有什么区别 在什么情况下我们需要遵循什么方法 PostbackUrl 更改表单的action属性 因此初始页面不会更改 但是当用户发布表单时
  • 计算浮点数中“.”后面的位数?

    这是一个面试问题 后面的位数怎么计算 以浮点数表示 例如如果给定 3 554 输出 3 43 000 输出 0 我的代码片段在这里 double no 3 44 int count 0 while no int no count no no
  • Postgresql 适配器 (pg):无法连接到服务器

    我每次运行 Rails 应用程序时都会收到此错误 它无法连接到我的本地 Postgresql Users leonardo rvm gems ruby 1 9 3 p362 gems activerecord 3 2 11 lib acti
  • 我应该如何将返回非通用任务的函数转换为 ValueTask?

    我正在编写一些代码 它在内存中构建一个缓冲区 然后将其清空到TextWriter当缓冲区填满时 大多数时候 角色会直接进入缓冲区 同步 但偶尔 每 4kb 一次 我需要调用TextWriter WriteAsync In the Syste