我真的很喜欢如何使用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);
}
答案 0 :(得分:2)
语法相同:
public bool ContainsKey(TKey key) => _dict.ContainsKey(key);
而且,这些并不是真正的lambda表达式,而是“表达式主体”;参见:https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/lambda-operator