Ho cercato di scrivere un metodo di estensione per simulare List.RemoveAll (Predicato).Metodi di estensione Dizionario <TKey,TValue>. Rimuovi tutto? È possibile?
Finora ho questo:
public static void RemoveAll<TKey,TValue>(this Dictionary<TKey,TValue> dict,
Predicate<KeyValuePair<TKey,TValue>> condition)
{
Dictionary<TKey,TValue> temp = new Dictionary<TKey,TValue>();
foreach (var item in dict)
{
if (!condition.Invoke(item))
temp.Add(item.Key, item.Value);
}
dict = temp;
}
Tutti gli indicatori? È un'implementazione completamente ingenua?
Non vorresti eliminare le coppie dal dizionario facendo coincidere la tua corrispondenza di predicato con Key, invece che con KeyValuePair? – base2