c#主体表达式=>

在 C# 中,主体表达式(Expression-bodied members)是一种简化代码书写的方式,它允许你以更简洁的语法来定义成员(如方法、属性、构造函数等)。这种语法在 C# 6.0 中首次引入,并在之后的版本中得到了扩展和改进。

基本用法

1. 简单方法

在 C# 6.0 及之后版本中,可以使用 => 语法来简化只有单行返回语句的方法。例如:

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

这是对以下传统方法定义的简化:

public int Add(int a, int b)
{
    return a + b;
}

2. 属性

对于只包含 getter 或 setter 的属性,也可以使用 => 来简化:

public int Age { get; } = 30;
public string Name => "John Doe";

这里,Age 属性使用了简化的属性初始化语法,而 Name 属性使用了表达式主体语法。

3. 构造函数

C# 7.0 引入了构造函数的表达式主体语法,用于简化构造函数的书写:

public Person(string name) => Name = name;

这与传统的构造函数写法相对应:

public Person(string name)
{
    Name = name;
}

4. 异常处理

如果你希望在 try 块中简化错误处理,表达式主体并不适用。不过你可以将异常处理逻辑写在常规方法中,使用表达式主体语法的主要目的是为了简化简单的逻辑或返回值。

扩展

在 C# 7.0 之后,主体表达式语法扩展到了其他类型的成员:

  • Indexers:可以使用表达式主体来简化属性访问器。
  • Finalizers:虽然不常见,但也是可以使用表达式主体的。

总结

主体表达式使得代码更加简洁易读,特别是在需要定义小型、简单逻辑的成员时。它让代码风格更加一致,并且减少了冗余代码。然而,对于复杂的逻辑,传统的完整方法定义还是更合适的选择。

举例:

private ObservableCollection<string> LogContentTemp   => new ObservableCollection<string>();

等价于:

private ObservableCollection<string> LogContentTemp
{
    get
    {
        return new ObservableCollection<string>();
    }
}

本质:一个方法。

posted @ 2024-08-28 09:31  猿锋博客  阅读(40)  评论(0编辑  收藏  举报