C# 7.0 ValueTuples 与匿名类型

标签 c# tuples anonymous-types c#-7.0

看看新的 C# 7.0 ValueTuples,我想知道它们是否会完全取代 Anonymous Types。我知道 ValueTuples 是结构,因此其行为与作为类的 Anonymous Types 有点不同。但是,我没有看到我更喜欢使用 Anonymous Type 而不是 ValueTuple 的用例。

在 C# 7.0 中,是否有使用匿名类型 仍然比使用 ValueTuples 更有利的用例?

最佳答案

匿名类型是不可变的,ValueTuple 不是。这反射(reflect)在匿名类型公开属性、ValueTuple 公开字段的事实中。数据绑定(bind)几乎总是需要属性。

大量现有代码仅适用于引用类型,不适用于值类型。特别想到的是 Entity Framework 中的投影:根本没有实现对值类型的投影。

关于C# 7.0 ValueTuples 与匿名类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41164986/

相关文章:

java - 如何通过 http 序列化 msgpack

python - 递归查找混合类型元组中的最大值

python - 创建知道每个列表长度的子列表

C# 4.0 隐式类型动态对象

c# - LINQ 项目属性转换为包含的新匿名类型

C# 在属性更改时运行逻辑

c# - 如何注册性能计数器以便我不必成为管理员就可以看到它们?

c# - ASP.NET 页面上的打印按钮

typescript - 如何输入对应类型的元组数组?

c# - 动态设置 C# 匿名类型的属性名称