ValueTuple 是 C# 7.0 引入的轻量级值类型元组,本质为栈分配的 struct,具备命名、解构、结构相等和零 GC 开销等特性,适用于临时数据组合与多返回值场景。

ValueTuple 是 C# 7.0 引入的轻量级值类型元组,本质是一个结构体(struct),直接在栈上分配内存,不触发垃圾回收。它不是语法糖,而是编译器深度支持的底层类型,用于高效聚合多个值,尤其适合临时数据组合、多返回值、LINQ 投影等场景。
相比早期的 System.Tuple(引用类型,堆分配、不可命名、字段只能叫 Item1/Item2),ValueTuple 具备以下轻量特征:
(int, string) 在 64 位平台通常占 16 字节
Rest 字段中)ValueTuple 支持显式字段命名,编译后仍保持值语义:
var person = (Name: "Alice", Age: 30); → 可直接写 person.Name
var (name, age) = person;,变量名即语义(string Name, int Age) 和 (string, int) 编译后都是 ValueTuple<string int></string>
作为值类型,ValueTuple 的行为符合直觉:
== 和 .Equals() 均可用)string 默认按内容比较)default)ValueTuple 是“临时数据容器”,不是长期数据契约:
基本上就这些。它不复杂,但容易忽略栈分配和值语义带来的实际影响。
以上就是C# 中的ValueTuple是什么 - 轻量级的元组类型的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号