C#弃元参数的使用场景
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要介绍"C#弃元参数的使用场景",在日常操作中,相信很多人在C#弃元参数的使用场景问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C#弃元参数的使用场景"的疑惑
千家信息网最后更新 2025年12月01日C#弃元参数的使用场景
这篇文章主要介绍"C#弃元参数的使用场景",在日常操作中,相信很多人在C#弃元参数的使用场景问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C#弃元参数的使用场景"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
弃元(Discards) 是在 C# 7.0 的时候开始支持的,它是一种人为丢弃不使用的临时虚拟变量。语法上它是用来赋值的,但它却不被分配存储空间,即没有值,所以不能从中读取值。弃元用 _(下划线) 表示,下划线是一个关键字,只能赋值,不能读取,例如:

在 C# 7.0 中,弃元的使用场景主要有下面四种:
元组和对象的解构
使用 is 和 switch 的模式匹配
对具有 out 参数的方法的调用
作用域内独立使用场景
针对这几个场景,用下面的几段代码演示一下。
场景一:元组/对象的解构
var tuple = (1, 2, 3, 4, 5);
(_, _, _, _, var fifth) = tuple;场景二:使用 is/switch 的模式匹配
var obj = CultureInfo.CurrentCulture.DateTimeFormat;
switch (obj)
{
case IFormatProvider fmt:
Console.WriteLine($"{fmt} object");
break;
case null:
Console.Write("A null object reference");
break;
case object _:
Console.WriteLine("Some object type without format information");
break;
}
if (obj is object _)
{
...
}场景三:对具有 out 参数的方法的调用
var point = new Point(10, 10);
// 只要 x, 不关心 y
point.GetCoordinates(out int x, out _);场景四:作用域内独立使用场景
void Test(Dto dto)
{
_ = dto ?? throw new ArgumentNullException(nameof(dto));
}理解了弃元,也了解了弃元的四种使用场景,那么对下面这个 C# 9.0 新支持的弃元使用场景就容易理解了。
C# 9.0 对弃元增加了一种场景支持:Lambda 参数,也包括匿名方法参数。示例:
// C# 9 之前
Func zero = (a, b) => 0;
Func func = delegate (int a, int b) { return 0; };
// C# 9
Func zero = (_, _) => 0;
Func func = delegate (int _, int _) { return 0; }; 在 C# 9 之前,即便不使用的 Lambda 参数也需要给它命名。C# 9 支持弃元参数一方面简化了命名,另一方面也节省了内存分配。更重要的是它使得编程的意图更明确,让人一看就知道这个参数是不用的,增强了代码的可读性和可维护性。
到此,关于"C#弃元参数的使用场景"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
场景
C#
参数
方法
学习
支持
下划线
代码
作用
对象
更多
模式
分配
帮助
独立
实用
重要
接下来
一方
不用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国家级网络安全上市公司
我的世界缤纷服务器
贪吃蛇服务器升级方法
安徽正规软件开发价格服务标准
手机软件开发股票代码
美国软件开发谁第一人
t330服务器raid5教程
服务器 简答题
基于机器学习的数据库技术综述
视景软件开发
无锡居家养老软件开发
找不到服务器dns地址
网络安全工程师有多忙
郑州市网络安全等级保护定级
怎么用流量攻击服务器
500组服务器
属于数据库技术研究领域的
美国网络安全达成协议
生存服务器可以加模组吗
组态王连接远程数据库失败
软件开发学校福建
华为服务器操作系统岗位
华为软件开发云政府补贴
网络安全常识50字
网络技术转让生产过程
自己的笔记本做服务器
web服务器安全配置设计报告
人渣怎么在游戏里看服务器
云科技大学数据库
网络技术适合什么工作