제목이 대부분입니다. C#의 기본 Dictionary 클래스에 간단한 확장 메서드를 추가하고 싶습니다. 처음에는 Stack (스택) 메서드와 비슷한 Pop (TKey 키)이라는 이름을 지정하려고했지만 조회를 위해 사용할 키를 허용합니다."집합에서 요소 찾기, 제거 및 반환"을위한 용어?
그런 다음 Take (TKey 키)를 수행하려고했으나 같은 이름의 LINQ 메서드와 일치합니다 ... C# 3.0을 사용하면 작업을 수행 할 수 있지만 좋아하지 않습니다.
그렇다면 Pop을 고수하거나 "요소 찾기 및 제거"에 대한 더 나은 용어가 있습니까?
는 (나는 그런 사소한 문제처럼 보인다,이 질문을 물어 종류의 당황 ...하지만이 표준을 사용하기 좋아하고 나는 많은 언어/환경과 폭 넓은 경험을 필요가 없습니다.)
편집 : 죄송합니다, 더 설명해야합니다 ....이 인스턴스에서 나는 이미 새로운 메서드로 확장하는 클래스에 의해 정의 된 이후 제거라는 용어를 사용할 수 없습니다.
편집 2 : 좋아, 말하자면 지금까지, 군중의 지혜에 의해 영감을 무엇 다음 Remove(key) method already provided?
에 특히 잘못에
이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;
}
전혀 질문에 대해 간단한 내용이 없습니다. 좋은 이름을 선택하는 것이 훨씬 좋다. 수년간 함께 살아야한다. (또는 더 나쁜 것은 누군가와 함께 살게한다.) –