Swift 中的元组是否可以完全替代 C# 中的匿名类型

2024-04-03

Like C# 中的匿名类型 http://msdn.microsoft.com/en-us/library/bb397696.aspx。新推出的语言 Swift 中的元组可以做 C# 中的匿名类型可以做的事情吗?

在学习 swift 时,我发现了一些语句(他们称之为元组),例如

let http200Status = (statusCode: 200, description: "OK")

我们可以通过类似的方式访问它们

println("The status code is \(http200Status.statusCode)")
// prints "The status code is 200"
println("The status message is \(http200Status.description)")
// prints "The status message is OK”

感觉就像 C# 中的匿名类型一样。

Swift 中的 Tuple 是否可以完全替代 C# 中的匿名类型?有人可以给我比较元组和匿名类型吗?我在一个方面可以做而在另一个方面不能做的事情。到目前为止我发现一件事,在 C# 中,我们不能返回匿名类型(除非作为对象),但我们可以在 Swift 中做到这一点。


Swift 中的元组在某种程度上是 C# 的匿名类型和泛型的混合体Tuple<T1, T2, ...>类。

与 C# 匿名类型一样,Swift 允许您根据需要命名元组的“属性”(但是,它只是可选的):

let result = (errorCode: 9001, message:"Power level too high!")

它还允许您提取某些值,而在检索它们时忽略其他值:

let (errorCodeOnly, _) = result

值得注意的是,Swift 元组的不变性由以下因素决定:var vs let.

let immutableCard = (suit: "Spades", rank: "Ace")
var mutableCard = (suit: "Hearts", rank: "Queen")

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

Swift 中的元组是否可以完全替代 C# 中的匿名类型 的相关文章

随机推荐

  • 通过 YouTube 数据 API 确定视频编解码器?

    是否可以通过 YouTube 数据 API 确定特定的 YouTube 视频是使用 H 264 还是 FLV 编码 如果是这样 怎么办 我可以开始文件下载并检查视频流的编码方式 当然 以编程方式 但我想使用 YouTube 数据 API 来
  • 正则表达式在字符串中查找数字

    我有一个字符串 可能包含也可能不包含 4 或 5 位数字 我正在寻找一个正则表达式 可以检测字符串是否确实有这样的数字 避免较长数字的万无一失的方法是 d d 4 5 d 我假设您不想在千位数字后面留有逗号 如果你这样做的话 d d 1 2
  • Symfony - 以生成的形式添加文本

    我想做一些非常简单的事情 但我不知道如何管理它 我有一个表格 form start form form widget form form end form 其中有几个文本字段 我想 插入 一些文本 例如 p my Text p 在两个文本字
  • lex :如何覆盖 YY_BUF_SIZE

    根据manual http westes github io flex manual The Default Memory Management html YY BUF SIZE is 16K我们需要重写它 但是 手册没有指定如何覆盖它 我
  • Tar:创建除一个之外的存档排除目录

    我有一些目录和一些文件 dir archive somedir1 dir archive somedir2 dir archive somedir3 dir archive mydir dir archive mydir excludedi
  • 在控制台中检测 Ctrl + S

    I m developing a console application in which I need to detect several hotkeys such as Ctrl N Ctrl O and Ctrl S Here s a
  • 如何在Excel中无法以图形方式显示的外部数据查询中添加参数?

    我经常使用 MS ExcelGet External Data创建简单的报告 对数据库运行查询并在 Excel 中很好地显示 Excel 的强大功能 例如过滤和数据透视表 以及用户熟悉的界面使其非常适合此目的 但是 Microsoft Qu
  • 如何反转 go 中的切片?

    如何反转任意切片 interface 在 Go 中 我宁愿不必写Less and Swap to use sort Reverse 有没有一种简单的内置方法可以做到这一点 Use 切片 反转 https pkg go dev slices
  • 错误:我们没有使用 Azure CLI 的有效访问权限

    我是 Azure CLI 的新用户 所以 我昨天开始使用它 一切正常 直到我在控制台上收到一条消息 要求我使用 Azure 登录命令再次登录 我按照消息所说的做了 打开我的浏览器并输入代码 浏览器加载页面 一切正常 但是 当我进入控制台窗口
  • 如何在 Maven 中创建校验和然后将其输出到文本文件?

    还在学习如何使用Maven 我想知道是否有办法做到checksum在生成的WAR file The Maven目标是package 我想要实现的是得到一个checksum价值 包装的WAR文件 与打包文件一起放入文本文件中 提前致谢 让它与
  • 当我移动轨迹栏时,如何防止 Windows 通用控件 6.0 中的控件(选项卡)闪烁和消失?

    滑动滑动条并释放鼠标按钮时 整个窗口都会闪烁 并且选项卡会消失 当我使用旧版本时 一切正常 当我使用新的 Microsoft Windows Common Controls ver 6 0 时 出现此问题 include
  • Flink 检查点到 Google Cloud Storage

    我正在尝试为 GCS 中的 flink 作业配置检查点 如果我在本地运行测试作业 没有 docker 和任何集群设置 一切正常 但如果我使用 docker compose 或集群设置运行它并在 flink 仪表板中使用作业部署 fat ja
  • Android 中的文本转语音完成后立即播放音频文件

    我正在尝试开发一个 Android 应用程序 一旦文本到语音完成 就必须播放音频文件 这个怎么做 如果我没有理解错的话 您想使用文本转语音来读取一些文本 同时将语音音频存储到手机中 然后再播放音频 你检查过吗录音测试 http develo
  • Mesos 任务 - 无法接受套接字:未来已丢弃

    我只是想将 mesos 版本从 1 0 3 升级到 1 3 1 Chronos 调度程序能够通过 mesos 调度作业 该作业运行良好并且能够查看 mesos 标准输出日志 但是 仍然在 mesos stderr 日志中看到以下内容 doc
  • 使用 MySQL 进行 SVN 身份验证

    我正在尝试通过 MySQL 设置每个存储库 SVN 身份验证 但遇到一些问题 首先 两者有什么区别mod authn dbd and mod auth mysql 其次 我已经有一个 MySQL 数据库设置 其中包含用户 组和权限的表 是否
  • 如何从 Amplify 生成的 Lambda 函数中访问其他 AWS 资源?

    我一直在使用 AWS Amplify 作为 AWS 的新手 我非常喜欢 Amplify 如何在 AWS 上为我配置必要的资源和 IAM 角色 我的问题是关于将 Lambda 与 GraphQL 结合使用 按照文档 我可以创建一个自定义 Gr
  • 可以使用反射覆盖 IEnumerable 中的项目吗?

    不顾任何合理的理由这样做 只是出于好奇是否可以获取任何给定的 IEnumerable T 并覆盖其中包含的项目 例如 给定 IEnuemrable String 是否可以完全替换 IEnumerable 中的所有字符串 正如其他人所说 如果
  • 背景尺寸:包含

    我想要一个带有背景图像的 div 保持图像的纵横比 固定高度为 500px 并且我不希望该 div 的背景上有 填充 这可以吗 我可以获得一个具有固定高度和保持宽高比的背景图像的 div div style background url s
  • 如何使用 Google 字体更改 Bootstrap 默认字体系列?

    我正在创建一个博客网站 我想更改 Bootstrap 字体 在 header 中的 import CSS 中我添加了这个字体 如何使用它作为我的引导程序默认字体 首先 你不能通过这种方式将字体导入到 CSS 中 您可以在 HTML 头中添加
  • Swift 中的元组是否可以完全替代 C# 中的匿名类型

    Like C 中的匿名类型 http msdn microsoft com en us library bb397696 aspx 新推出的语言 Swift 中的元组可以做 C 中的匿名类型可以做的事情吗 在学习 swift 时 我发现了一