C# 7.0 添加和增强的功能【基础篇】( 五 )

十、弃元弃元是一种在应用程序代码中人为取消使用的临时虚拟变量 。弃元相当于未赋值的变量;它们没有值 。
弃元将意图传达给编译器和其他读取代码的文件:你打算忽略表达式的结果、元组表达式的一个或多个成员、方法的 out 参数或模式匹配表达式的目标 。
弃元使代码意图更加明确 。弃元指示代码永远不会使用变量 。它们可以增强其可读性和可维护性 。
通过将下划线 (_) 赋给一个变量作为其变量名,指示该变量为一个占位符变量 。
// 以下方法调用返回一个元组,其中第一个值和第二个值为弃元 。// area 是以前声明的变量,设置为由 GetCityInformation 返回的第三个组件(_, _, area) = city.GetCityInformation(cityName);当 _ 是有效弃元时,尝试检索其值或在赋值操作中使用它时会生成编译器错误 CS0301:“当前上下文中不存在名称 "_"” 。出现此错误是因为 _ 未赋值,甚至可能未分配存储位置 。如果它是一个实际变量,则不能像之前的示例那样对多个值使用弃元 。
独立弃元用来指示要忽略的任何变量 。
一种典型的用法是使用赋值来确保一个参数不为 null 。下面的代码使用弃元来强制赋值 。赋值的右侧使用 Null 合并操作符,用于在参数为 null 时引发 System.ArgumentNullException 。此代码不需要赋值结果,因此将对其使用弃元 。
// 使用弃元来强制赋值// 赋值的右侧使用 Null 合并操作符,用于在参数为 null 时引发 System.ArgumentNullException// 此代码不需要赋值结果,因此将对其使用弃元public static void Method(string arg){_ = arg ?? throw new ArgumentNullException(paramName: nameof(arg), message: "arg can't be null");}十一、二进制文本固定值称为文字 。文字是变量使用的值 。
在 C# 7.0 之前,有六种类型的文字可用,它们是一个

经验总结扩展阅读