推荐使用ValueTuple而非Tuple,因其是值类型、性能更优、支持命名字段和解构;声明简洁如("张三",28,true),可命名如(Name:"王五",Age:25),支持var(name,age)=t解构,.NET Core 2.0+原生支持。

在C#中,Tuple(引用类型,.NET Framework 4.0引入)和ValueTuple(值类型,C# 7.0+推荐使用)都用于快速封装多个不同类型的值,但它们在性能、语法和用法上有明显区别。现在基本只推荐用 ValueTuple,它更轻量、支持解构、可命名字段,且无需额外 NuGet 包(.NET Core 2.0+ / .NET 5+ 内置)。
可
以直接用括号语法创建,比 Tuple.Create() 简洁得多:
var person = ("张三", 28, true); → 编译器推断为 (string, int, bool)
ValueTuple<string int bool> t = ("李四", 31, false);</string>
var user = (Name: "王五", Age: 25, IsActive: true);,之后可用 user.Name 访问不用再写 t.Item1、t.Item2,直接拆成变量:
var (name, age, active) = ("赵六", 29, true); → 自动按顺序赋值var (name, _, _) = user;(下划线忽略不需要的字段)var (code, msg) = GetResult();
适合替代 out 参数或小型 DTO:
Procys
AI驱动的发票数据处理
102
查看详情
public (int sum, int count, double *g) Calculate(int[] nums) { ... }
void Print((string title, int year) book) => Console.WriteLine($"{book.title} ({book.year})");
别混用,避免隐式转换问题:
Tuple<t1></t1> 是类(class),存在堆分配;(T1, T2) 是结构体(struct),栈上分配,无 GC 压力Tuple 字段固定叫 Item1、Item2;ValueTuple 支持自定义字段名(编译期有效)Tuple.Create(1, "a") 返回 Tuple<int></int>;而 (1, "a") 是 ValueTuple<int></int>,二者不兼容ValueTuple,无需额外引用基本上就这些。日常开发中,优先用 (type name, ...) 语法写 ValueTuple,配合解构和命名字段,代码更清晰、性能更好。旧项目若还在用 Tuple,建议逐步迁移到 ValueTuple。
以上就是C#怎么使用Tuple和ValueTuple C#元组类型使用方法的详细内容,更多请关注其它相关文章!
相关文章:
最新韩小圈网页版登录入口_官网在线观看官方链接
在J*a中如何使用BigDecimal进行高精度计算_BigDecimal类应用指南
PHP中获取MongoDB服务器运行时间(Uptime)的专业指南
“音游” × “怪文书” 题材的节奏冒险游戏 《晕晕电波症候群》确定于2026年4月发售!
解决Django多数据库/多Schema环境下外键迁移问题
c++如何使用std::memory_order控制原子操作顺序_c++ C++11内存模型详解
自定义 WooCommerce 购物车:始终显示全部交叉销售商品
怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】
汽水音乐车机版横屏版7.1 汽水音乐车机版横屏版下载入口
怎么在mac上运行html代码_mac运行html代码方法【指南】
win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】
照顾宝贝2小游戏免费秒玩入口
抖音小游戏合成大西瓜免费秒玩入口链接 抖音小游戏热门合集秒玩网站
快速CSGO开箱网站指南 CSGO开箱平台推荐
J*aScript中安全有效地处理localStorage字符串数据
2026春节假期时间安排 2026春节假日查询
抖音网页版怎么|直播|_抖音网页版开播操作指南
淘宝网网页版登录入口 淘宝官方网页版快捷登录
如何提高微信支付的安全性_微信支付安全防护与设置建议
WooCommerce 购物车显示所有交叉销售商品教程
Lar*el拼写容错搜索策略:基于语音编码的优化实践
Sublime Text怎么显示空格和制表符_Sublime显示不可见字符设置
手机CPU怎么影响游戏体验_手机CPU对游戏性能的影响分析
uc浏览器网页版入口 uc浏览器网页版最新网址
Win11怎么关闭快速启动_Win11彻底关机设置教程
微博网页版官方账号登录 微博网页版内容浏览使用指南
12306怎么选座位选到安静区_12306选座安静区域选择策略
Archive of Our Own官网直达 AO3最新可用地址一览
2026年发布! 美少女养成动作RPG《神剑少女战记》发布实机演示
QQ邮箱网页版入口 QQ邮箱官方邮箱登录通道
深入理解J*a链表中的IPosition接口与使用
Linux如何构建多环境配置管理_Linux多环境配置方案
c++ dfs和bfs代码 c++深度广度优先搜索算法
Windows10怎么开启存储感知 Windows10系统设置自动清理临时文件释放C盘空间【教程】
印象笔记怎样用批量导出备知识库_印象笔记用批量导出备知识库【备份方法】
理解J*aScript Promise的微任务队列与执行顺序
Yandex免登录网页版地址 Yandex搜索引擎官方访问入口
微信网页版登录教程_微信网页版登录入口在哪
LINUX的perf命令入门_LINUX官方性能分析工具的使用与解读
网易大神账号申诉需要多久_网易大神账号申诉流程说明
钉钉视频会议声音异常如何处理 钉钉会议音频修复技巧
vivo手机互传视频怎么操作_vivo手机互传视频详细传输方法
在J*aScript中复现SciPy的B样条拟合与求值:关键考量
蛙漫移动版在线看 蛙漫手机浏览器直达入口
小米14应用无法联网原因分析_小米14网络权限修复
高德地图总提示网络异常怎么办 高德地图离线导航设置与网络排查方法
深入理解Go语言中的指针类型:以*string为例
192.168.1.1管理中心入口 192.168.1.1路由器网页设置平台
京东单号查询入口_京东快递订单追踪入口
Win11怎么开启省电模式_Win11电池节电模式自动开启