📜  C#7.1 默认表达式(1)

📅  最后修改于: 2023-12-03 15:30:16.597000             🧑  作者: Mango

C# 7.1 默认表达式

在 C# 7.1 中,引入了默认表达式(default expressions)的功能。默认表达式是一种简化代码的方法,使得程序员无需在某些情况下使用默认值进行初始化。

示例

在以前的版本中,当我们需要初始化一个类型的变量,而又不想关心它的初始值时,我们通常使用以下代码:

int i = default(int);  // 等价于 i = 0;

bool b = default(bool);  // 等价于 b = false;

string s = default(string);  // 等价于 s = null;

然而,在 C# 7.1 中,我们可以使用默认表达式来简化这些代码,使它们更加易读和简洁:

int i = default;  // 等价于 i = 0;

bool b = default;  // 等价于 b = false;

string s = default;  // 等价于 s = null;
支持的类型

默认表达式支持以下类型:

  • 所有值类型(包括枚举);
  • 所有引用类型;
  • 可为 null 的值类型(例如 Nullable<int>)。
注意事项

要使用默认表达式,你需要使用 C# 7.1 或更高版本的编译器,并启用默认表达式的支持。

默认表达式也不适用于某些情况,例如在泛型类型或方法中,或者在 ref 引用中等。在这些情况下,你可能需要使用传统的 default(T) 初始化方法。

结论

C# 7.1 的默认表达式是一个很好的特性,使代码更简洁、易读和易写。如果你使用 C# 7.1 或更高版本,请尝试使用默认表达式来简化你的代码。