标题主要是说.我想在C#中向基类Dictionary类添加一个简单的扩展方法.起初我将其命名为Pop(TKey键),有点像Stack方法,但它接受用于查找的键.
然后我要做Take(TKey键),但它与同名的LINQ方法一致......虽然C#3.0允许你这样做,但我不喜欢它.
所以,您如何看待,只要坚持使用Pop,或者"找到并删除元素"有更好的术语吗?
(我觉得有点不好意思问这个问题,这似乎是一件小事......但我喜欢使用标准,而且我对很多语言/环境没有广泛的经验.)
编辑:对不起,应该解释更多....在这个例子中,我不能使用术语删除,因为它已经由我用新方法扩展的类定义.
编辑2:好的,这是我迄今为止所拥有的,受到人群智慧的启发:
public static TValue Extract( this Dictionary dict, TKey key ) { TValue value = dict[key]; dict.Remove(key); return value; } public static bool TryExtract ( this Dictionary dict, TKey key, out TValue value ) { if( !dict.TryGetValue(key, out value) ) { return false; } dict.Remove(key); return true; }
Mark.. 8
我想提取物,就像当考古学家发现地上的一个木乃伊,删除它,然后返回到一个博物馆:)
我想提取物,就像当考古学家发现地上的一个木乃伊,删除它,然后返回到一个博物馆:)