Le titre l'indique surtout. Je souhaite ajouter une méthode d'extension simple à la classe Dictionary en C#. Au début, j'allais le nommer Pop (TKey key), un peu comme la méthode Stack, mais il accepte une clé à utiliser pour la recherche.Terme pour "trouver, supprimer et renvoyer un élément" dans un ensemble?
Ensuite, j'allais faire Take (touche TKey), mais ça coïncide avec la méthode LINQ du même nom ... et bien que C# 3.0 vous le permette, je ne l'aime pas. Alors, que pensez-vous, il suffit de coller avec Pop ou est-il un meilleur terme pour "trouver et supprimer un élément"?
(je me sens un peu gêné de poser cette question, il semble que cette mince affaire ... mais je voudrais utiliser les normes et je n'ai pas une grande expérience avec beaucoup de langues/environnements.)
EDIT: Désolé, aurait dû expliquer plus .... Dans ce cas, je ne peux pas utiliser le terme Supprimer, car il est déjà défini par la classe que je suis en train d'étendre avec une nouvelle méthode.
EDIT 2: D'accord, voici ce que je suis à ce jour, inspiré par la sagesse de la foule comme il était:
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;
}
Rien de trivial à propos de la question. Bien mieux de choisir un bon nom en avance puis de vivre avec lui pendant des années (ou pire, faire vivre à quelqu'un d'autre) –