是否可以解构 ValueTuple 参数?

2024-03-22

是否可以解构一个不是从方法返回但作为输出参数的元组?我不确定我是否正确表达了自己的意思,甚至不确定是否使用了正确的术语,所以这里有一些例子:

void OutMethod(out (int aNumber, string someText) output)
    => output = (15, "yo");

void Usage()
{
    {
        // Works, of course.
        OutMethod(out var tuple);

        // But *slightly* aesthetically unappealing to use.
        var usage = $"{tuple.someText}: {tuple.aNumber}";
    }

    {
        // Would be awesome, but doesn't work.
        OutFunction(out var(number, text));
    }

    {
        // Would be awesome too, but doesn't work.
        OutFunction(out (var number, var text));
    }

    {
        // This doesn't work either.
        OutFunction((out var number, out var text));
    }

    {
        // Not even this.
        OutFunction((out int number, out string text));
    }

    {
        // Or this.
        OutMethod(out (int number, string text));
    }

    {
        // Or this.
        int number;
        string text;
        OutMethod(out (number, text));
    }
}

顺便说一句,没有抱怨。只是想知道我是否错过了什么。


目前这是不可能的。此外,根据 CSharplang github 存储库上的评论 https://github.com/dotnet/csharplang/issues/611#issuecomment-303001490:

这是我们在 LDM(语言设计会议)中进行分类并决定不这样做的事情,至少在不久的将来......

因此,在未来一段时间内,这可能仍然是“不可能”。

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

是否可以解构 ValueTuple 参数? 的相关文章

  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写

随机推荐

  • 使用 fancyBox 的 HTML 属性 rel 错误

    我正在使用 fancyBox 创建一个画廊 代码如下 a class fancybox href img work 1 jpg a a class fancybox href img work 2 jpg a a class fancybo
  • Postgresql ON sqlalchemy 中的冲突

    我读过很多资源 ao 1 https bitbucket org zzzeek sqlalchemy issues 3529 support postgres 95 on conflict upserts 2 https stackover
  • 在闪亮的主面板中右对齐元素

    我有一个闪亮的应用程序 左侧有一个侧边栏 我想将 mainPanel 中的绘图向右对齐 我尝试过添加style align right mainPanel 中的每个元素 以及包装我能想到的所有内容div style align right
  • 适用于嵌入式设备的良好串行通信协议/堆栈? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在为各种项目编写了几个不同的自定义串行协议后 我开始对每次重新发明轮子感到沮丧 我一直在寻找更通用的解
  • Powershell Invoke-Sqlcmd 登录失败

    我正在尝试从 Windows SQL Server 2008 R2 的 powershell 运行 sql 查询 代码似乎无法通过 SQL Server 身份验证凭据来正确运行 sqlcmd 我直接从 powershell 运行第一部分 而
  • ExtJS AJAX 另存为对话框

    我发出 ExtJS AJAX 请求 并且希望向用户显示标准浏览器 另存为 对话框 要下载的文件可以是 pdf jpg 或 png 文件 目前 AJAX 请求已成功提交 但由于它是异步的 因此不会出现对话框 我可以简单地不使用 AJAX 但是
  • udp数据包被tcpdump捕获,但没有被套接字接收[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我编写了一个 rawudp 程序 通过原始套接字发送 udp 数据包 按照网页http www tenouk com Module43a html h
  • 使用 Zend Framework 渲染站点范围元素的最佳方法

    我正在使用 模块 前端控制器资源进行项目设置 渲染站点范围元素 例如导航 的最佳方法是什么 Add the action which renders the element to the end of the action stack ea
  • 无法从 virtualenv 导入包

    我的项目中有一个一行脚本 它导入一个包 flask mail 我在 virtualenv 中运行它 如果我执行python script py I get ImportError No module named flask mail 如果在
  • 无法将映像推送到配置为代理缓存的 docker 注册表

    我跟着this http blog docker com 2015 10 registry proxy cache docker open source 设置 Docker v2 注册表作为 Docker Hub 映像的本地代理缓存的指南
  • git中的用户访问控制

    我有一个简单的问题 我们使用 Bitbucket 作为 git 提供者 假设我是一个开发团队的经理 我希望自己成为唯一可以将代码合并到 master 分支的人 其他团队成员可以签出主分支并创建新分支 但他们无法将代码合并到主分支 我怎样才能
  • 将 pandas 数据框转换为列表

    我有一个熊猫数据框 apple banana carrot diet coke 1 1 1 0 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 我想将其转换为以下内容 apple banana carrot
  • 如何重置 iOS 9 通用链接设置?

    在我的 iOS 9 应用程序上测试通用链接时 我不小心点击了 mywebsite com gt 右上角 这使得应用程序再次导航到网站 现在我似乎无法再次使通用链接起作用 似乎 iOS 已经记住了我的偏好 即我希望看到在 Safari 而不是
  • SQL Server 中的 DateTime2 与 DateTime

    哪一个 datetime https msdn microsoft com en us library ms187819 aspx datetime2 https msdn microsoft com en us library bb677
  • 撰写:LazyColumn 在单个项目更新时重组所有项目

    我正在尝试使用 LazyColumn 在列表中显示订单列表 这是代码 Composable private fun MyOrders orders List
  • 龙卷风 vs wsgi(带gunicorn)

    I read this http rz scale it pl 2013 01 25 tornado the best web framework html关于龙卷风 另一方面 如果您已经有 WSGI 应用程序并且想要运行它 在速度极快的t
  • 处理 iOS 10 中的 AutoLayout 约束动画差异?

    我注意到在 iOS 10 Beta 5 即将尝试 Beta 6 中 AutoLayout 约束动画的行为有点不同 例如 此方法的工作方式与之前的 iOS 版本不同 view addConstraints constraints view s
  • 如何在 autoconf 配置脚本/makefile 中添加到库的链接

    我是一个自动工具新手 我很难轻松地弄清楚如何做 将特定库链接到配置的目标之一 我有一个源包 我想用通常的方式构建 configure make make install 不幸的是 其中一个 cpp 缺少对另一个库的引用 手动编译它 调整命令
  • Spray 如何找到资源 - 例如javascript

    使用 Spray io 构建我的第一个 Servlet 非常简单 但从未找到标头中引用的资源 头 gt 这些资源必须放在哪个目录中 或者如何引导喷雾去那里查找 简单的问题 但我无法弄清楚 非常感谢 Girgl 对于 Spray 路由 我使用
  • 是否可以解构 ValueTuple 参数?

    是否可以解构一个不是从方法返回但作为输出参数的元组 我不确定我是否正确表达了自己的意思 甚至不确定是否使用了正确的术语 所以这里有一些例子 void OutMethod out int aNumber string someText out