一组中"查找,删除和返回元素"的术语?

Way*_*oss 3 naming programming-languages terminology naming-conventions data-structures

标题主要是说.我想在C#中向基类Dictionary类添加一个简单的扩展方法.起初我将其命名为Pop(TKey键),有点像Stack方法,但它接受用于查找的键.

然后我要做Take(TKey键),但它与同名的LINQ方法一致......虽然C#3.0允许你这样做,但我不喜欢它.

所以,您如何看待,只要坚持使用Pop,或者"找到并删除元素"有更好的术语吗?

(我觉得有点不好意思问这个问题,这似乎是一件小事......但我喜欢使用标准,而且我对很多语言/环境没有广泛的经验.)

编辑:对不起,应该解释更多....在这个例子中,我不能使用术语删除,因为它已经由我用新方法扩展的类定义.

编辑2:好的,这是我迄今为止所拥有的,受到人群智慧的启发:

public static TValue Extract<TKey, TValue>
(
    this Dictionary<TKey, TValue> dict,
    TKey key
)
{
    TValue value = dict[key];
    dict.Remove(key);
    return value;
}

public static bool TryExtract<TKey, TValue>
(
    this Dictionary<TKey, TValue> dict,
    TKey key,
    out TValue value
)
{
    if( !dict.TryGetValue(key, out value) )
    {
        return false;
    }
    dict.Remove(key);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ark 8

我想提取物,就像当考古学家发现地上的一个木乃伊,删除它,然后返回到一个博物馆:)