从 C# 7.0 开始,C# 支持弃元,这是一种在应用程序代码中人为取消使用的占位符变量。
简单来说,弃元的作用就是告诉编译器和其他读取代码的文件你打算忽略表达式的结果。当我们不需要或不使用赋值的结果时,就可以使用弃元。
我们在代码中一定遇到过这种苦恼:
static void Main(string[] args)
{
string val = "123";
if (int.TryParse(val,out int t1))
{
Console.WriteLine("int类型");
}
}
此时,我们并不需要使用到返回的值,但是方法又规定必须传递out的值,此时,我们就可以这样实现代码:
static void Main(string[] args)
{
string val = "123";
if (int.TryParse(val,out _))
{
Console.WriteLine("int类型");
}
}
除了out之外,我们还可以在元组和对象析构、witch
等语句中使用弃元写出优雅代码
例如,下面的例子我们只希望使用到日期中的年份。
var (year,_,_) = GetDate();
private (string,string,string) GetDate()
{
//...
return (year,month,day);
}
例如,我们在switch