将非无效方法声明为lambda

时间:2019-05-29 17:51:39

标签: c# lambda

我真的很喜欢如何使用Lambda快速实现接口,代码变得更短,更易读...我们可以使用Lambda实现属性

public ICollection<TKey> Keys => _dict.Keys;

public TValue this[TKey key] { get => _dict[key]; set => _dict[key] = value; }

...甚至方法

public void Clear() => _dict.Clear();

但是我不知道如何使用lamdbas重写非空方法?例如:

public bool ContainsKey(TKey key)
{
    return _dict.ContainsKey(key);
}

1 个答案:

答案 0 :(得分:2)

语法相同:

public bool ContainsKey(TKey key) => _dict.ContainsKey(key);

而且,这些并不是真正的lambda表达式,而是“表达式主体”;参见:https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/lambda-operator