C#弃元参数的使用场景
发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,这篇文章主要介绍"C#弃元参数的使用场景",在日常操作中,相信很多人在C#弃元参数的使用场景问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C#弃元参数的使用场景"的疑惑
千家信息网最后更新 2024年11月21日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安全错误
数据库的锁怎样保障安全
ai服务器加速芯片
计算机网络安全工具
网络安全宣传标语幼儿园
服务器维护管理员
监听 数据库吗
黄浦区国际软件开发参考价格
服务器任务管理器快捷键
云视频平台软件开发过程文档
变量byte怎么插入数据库
软件开发对国家的意义
list如何保存到数据库
像素工厂如何创建远程服务器
网络安全法未经授权
信息网络技术的核心
黄河网络安全馆什么时候开业
二手华硕服务器价格
网络安全演讲稿50
大学网络安全主题活动
免费韩国服务器ip手机
服务器CDN怎么关闭
app电影服务器架设
软件开发简单复杂
过年期间网络安全提示
自己搭建云服务器划算吗
灿动力网络技术有限公司
韩城app软件开发
网络安全防诈骗黑板报资料
厉害的网络安全公司
舒城传奇网络技术职位叫什么
烽火通信入围中国电信服务器集采