📜  C#6.0 expression-bodied-members(1)

📅  最后修改于: 2023-12-03 14:40:28.330000             🧑  作者: Mango

C# 6.0 表达式主体成员

在C# 6.0中引入了表达式主体成员(Expression-bodied members),这是一种简化编写方法和属性的语法。它允许将一个方法或属性的实现写成一个表达式,而不是传统的块语句。

方法的表达式主体

在C# 6.0之前,如果一个方法体中只包含一条语句,我们可以使用一个lambda表达式来简化代码。然而,如果方法体中包含多条语句,就无法使用lambda表达式,并且必须使用传统的块语句来实现方法。

C# 6.0提供了表达式主体成员的语法,使我们能够用更简洁的方式编写这些方法。

下面是一个使用表达式主体的方法的示例:

public int AddNumbers(int a, int b) => a + b;

上述代码中,AddNumbers方法以一行代码的形式被定义。=>符号表示表达式体,它表示“返回”的含义。在这个例子中,方法简单地将两个整数相加,然后返回结果。

属性的表达式主体

与方法类似,我们也可以使用表达式主体来定义属性的实现。

下面是一个使用表达式主体的属性的示例:

public string FullName => FirstName + " " + LastName;

上述代码中,FullName属性以一条表达式的形式被定义,它使用FirstNameLastName两个字段的值来构建完整的姓名字符串。

隐式的 get 或 set

如果一个属性只包含 get 或 set 访问器,我们可以使用隐式的 get 或 set 语法来进一步简化代码。

下面是一个使用隐式 get 的属性的示例:

public int Length => text.Length;

上述代码中,Length属性只有一个 get 访问器,我们可以使用隐式的 get 语法,直接返回text.Length的值。

下面是一个使用隐式 set 的属性的示例:

public string Name
{
    get => name;
    set => name = value?.Trim();
}

上述代码中,Name属性有一个 set 访问器,并使用了隐式的 set 语法。在这个示例中,我们使用了null条件运算符(?.)来安全地访问value,并将其进行修剪操作并赋值给name字段。

总结

通过使用C# 6.0的表达式主体成员语法,我们可以更简洁地编写方法和属性的实现。这种语法减少了代码的冗余,提高了可读性。在编写简单的逻辑时特别有用。

以上就是关于C# 6.0表达式主体成员的介绍。希望对你有所帮助!